Seite 1 von 1

Timestamp aus Excel übersetzen

Verfasst: Sa 17. Okt 2015, 21:00
von mahaga66
Hallo,
ich verwende in Excel folgendes Makro:

Code: Alles auswählen

Private Sub Worksheet_Change(ByVal Target As Range)

Dim objCell As Range

If Not Intersect(Range("cd1:cd350"), Target) Is Nothing Then
    Application.EnableEvents = False

    For Each objCell In Intersect(Range("cd1:cd350"), Target)

        objCell.Offset(0, 2) = Now()

    Next

    Application.EnableEvents = True

End If

End Sub
Meine Frage wäre ob es möglich ist dies in Libre nutzbar zu machen.
Kann mir da jemand helfen ??

Gruß Marcus

Re: Timestamp aus Excel übersetzen

Verfasst: Sa 17. Okt 2015, 21:22
von karolus
Hallo

Beschreib doch besser die eigentliche Aufgabenstellung, statt irgendeinen unkommentierten VBA-code abzuwerfen

In Calc gibts keine VBA-Magie die aus dem Namen der Sub ausliest auf welches Ereignis hin die Sub aufgerufen wird.

Re: Timestamp aus Excel übersetzen

Verfasst: Sa 17. Okt 2015, 21:46
von mahaga66
Hallo,
es soll ein Timestamp erzeugt werden mit datum und Uhrzeit.
Und zwar wenn in der Zelle Cd1:cd350 ein Wert geändert wird soll sich dieser Stamp aktualisieren.

Gruß Marcus

Re: Timestamp aus Excel übersetzen

Verfasst: So 18. Okt 2015, 09:10
von F3K Total
Moin,
mahaga66 hat geschrieben:... soll sich dieser Stamp aktualisieren.
Super, und wo soll "dieser Stamp" sein?
Gruß R

Re: Timestamp aus Excel übersetzen

Verfasst: So 18. Okt 2015, 13:46
von karolus
F3K Total hat geschrieben:Moin,
mahaga66 hat geschrieben:... soll sich dieser Stamp aktualisieren.
Super, und wo soll "dieser Stamp" sein?
Gruß R
Das steht doch im Code: :lol:

Code: Alles auswählen

        objCell.Offset(0, 2) = Now()
(Also vmtl. die übernächste Zelle rechts von der geänderten)

Du kannst doch von Excel/VBA-"Kunden" nicht erwarten, das sie auf Anhieb mit brauchbaren Fragestellungen daherkommen!

Re: Timestamp aus Excel übersetzen

Verfasst: So 18. Okt 2015, 19:25
von F3K Total
Genau, vermutlich! Kann ich eben aus dem Code nicht lesen. Ist die Reihenfolge der Indizes (Spalte, Zeile) von OO bei MS-VBA umgekehrt (Zeile, Spalte)? Habe kein MS-Office und kann es nicht prüfen.
Gruß R

Re: Timestamp aus Excel übersetzen

Verfasst: So 18. Okt 2015, 20:08
von mikele
Hallo,

@F3K Total: Über die Hürde musste ich mehrfach beim Wechsel von VBA ...

Allerdings ist objCell in dem Code ein nichtdefinierter Bereich, sprich das Programm dürfte nicht funktionieren (die geänderte Zelle ist ja Target).
Deine Frage ist aus meiner Sicht durchaus berechtigt ...

Re: Timestamp aus Excel übersetzen

Verfasst: Di 20. Okt 2015, 18:23
von mahaga66
Hallo,
ja die Stamp Angaben stehen 2 Spalten rechts neben den Angaben. Funzt in Excel klasse.

Gruß Marcus

Re: Timestamp aus Excel übersetzen

Verfasst: Di 20. Okt 2015, 18:55
von F3K Total
Gut,
dann versuch mal das folgende an das Tabellenereignis "Inhalt geändert" zu hängen:

Code: Alles auswählen

Private Sub Worksheet_Change(oCell)
    if oCell.SupportsService("com.sun.star.sheet.SheetCell") then
        oSheet = Thiscomponent.CurrentController.activeSheet
        oRange = oSheet.getCellRangebyName("CD1:CD350")
        if oRange.QueryIntersection(oCell.RangeAddress).count = 1 then
            aCellAddress = oCell.Celladdress
            nColumn = aCellAddress.Column
            nRow = aCellAddress.Row
            oTargetCell = oSheet.getcellbyPosition(nColumn+2,nRow)
            oTargetCell.value = NOW()
        endif
    endif
End Sub
Die Spalte CD sollte als Timestamp formatiert sein.
Gruß R

Re: Timestamp aus Excel übersetzen

Verfasst: Di 20. Okt 2015, 18:58
von mikele
Hallo,

mein Fehler - natürlich ist objcell definiert. :oops:

... und F3K Total war schneller ;)