🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Timestamp aus Excel übersetzen

Alles zur Programmierung im LibreOffice.
Antworten
mahaga66
Beiträge: 3
Registriert: Sa 17. Okt 2015, 20:54

Timestamp aus Excel übersetzen

Beitrag von mahaga66 » Sa 17. Okt 2015, 21:00

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

Benutzeravatar
karolus
* LO-Experte *
Beiträge: 2540
Registriert: Fr 10. Dez 2010, 10:01

Re: Timestamp aus Excel übersetzen

Beitrag von karolus » Sa 17. Okt 2015, 21:22

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.
LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)

mahaga66
Beiträge: 3
Registriert: Sa 17. Okt 2015, 20:54

Re: Timestamp aus Excel übersetzen

Beitrag von mahaga66 » Sa 17. Okt 2015, 21:46

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

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: Timestamp aus Excel übersetzen

Beitrag von F3K Total » So 18. Okt 2015, 09:10

Moin,
mahaga66 hat geschrieben:... soll sich dieser Stamp aktualisieren.
Super, und wo soll "dieser Stamp" sein?
Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO

Benutzeravatar
karolus
* LO-Experte *
Beiträge: 2540
Registriert: Fr 10. Dez 2010, 10:01

Re: Timestamp aus Excel übersetzen

Beitrag von karolus » So 18. Okt 2015, 13:46

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!
LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: Timestamp aus Excel übersetzen

Beitrag von F3K Total » So 18. Okt 2015, 19:25

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
Windows 11: AOO, LO Linux Mint: AOO, LO

mikele
* LO-Experte *
Beiträge: 1932
Registriert: Mo 1. Aug 2011, 20:51

Re: Timestamp aus Excel übersetzen

Beitrag von mikele » So 18. Okt 2015, 20:08

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 ...
Gruß,
mikele

mahaga66
Beiträge: 3
Registriert: Sa 17. Okt 2015, 20:54

Re: Timestamp aus Excel übersetzen

Beitrag von mahaga66 » Di 20. Okt 2015, 18:23

Hallo,
ja die Stamp Angaben stehen 2 Spalten rechts neben den Angaben. Funzt in Excel klasse.

Gruß Marcus

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: Timestamp aus Excel übersetzen

Beitrag von F3K Total » Di 20. Okt 2015, 18:55

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
Windows 11: AOO, LO Linux Mint: AOO, LO

mikele
* LO-Experte *
Beiträge: 1932
Registriert: Mo 1. Aug 2011, 20:51

Re: Timestamp aus Excel übersetzen

Beitrag von mikele » Di 20. Okt 2015, 18:58

Hallo,

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

... und F3K Total war schneller ;)
Gruß,
mikele


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten