Ansicht:   

#444927 VBA-Makro in Calc-Makro umwandeln (pc.linux)

verfaßt von Mike_R zur Homepage von Mike_R, Rosenheim, 24.03.2021, 09:59:37

Hi,
da hab ich mal leichtsinnigerweise einem guten Bekannten etwas zugesagt, was mir nun etwas "Kopfschmerzen" bereitet. Es geht um ein in VBA selbst erstelltes (Art Buchführungs-) Makro, das nun auch in libre office calc laufen sollte. Nach den ersten Erkundungen (sehr verwandte Sprachen, VBA-Makros lassen sich teilweise auch in calc ausführen) hab ich mir das wesentlich einfacher vorgestellt. Inzwischen hab ich mich in etlichen Webseiten intensiver mit der Sache auseinandergesetzt und (zu meiner Überraschung und auch Enttäuschung) festgestellt, dass die "calc--Sprache" - jedenfalls ist das mein Eindruck - in vielen Bereichen wesentlich komplexer, umständlicher und damit auch schwerer nachvollziehbar ist als der VBA-Code.
Hier nun ein Teil des VBA-Codes, der umgewandelt werden soll:

With ActiveSheet
Rw = ActiveCell.Row 'Zeile
Datum = .Cells(Rw, 1).Value
Tb = .Cells(Rw, 2).Value 'andere Tabelle, in die die Werte eingetragen werden
Art = .Cells(Rw, 3).Value 'Was gebucht wurde, z.B. Liege
S = .Cells(Rw, 4).Value 'Soll-Betrag bei Ausgaben
H = .Cells(Rw, 5).Value 'Haben-Betrag bei Einnahmen
End With
With ActiveWorkbook.Sheets(Tb)
Rw = 1
While .Cells(Rw, 1).Value <> "" '1. freie Zeile an Ende der Tab. suchen
Rw = Rw + 1
Wend
.Cells(Rw, 1).Value = Datum
.Cells(Rw, 2).Value = ActiveSheet.Name
.Cells(Rw, 3).Value = Art
If H > 0 Then .Cells(Rw, 4).Value = H
If S > 0 Then .Cells(Rw, 5).Value = S
End With

Läuft in VBA problemlos; bei meinen calc-Umwandlungs-Versuchen kommt aber immer wieder irgendeine Fehlermeldung, so dass ich mich - nunmehr schon ziemlich genervt - an Euch Forums-Teilnehmer wende, in der Hoffnung, einen calc-Experten zu finden, der mir hier auf die Sprünge helfen kann.
Mike_R

 

gesamter Thread:

  • VBA-Makro in Calc-Makro umwandeln - Mike_R zur Homepage von Mike_R - 24.03.2021, 09:59:37 [1766 Hits] [Board][Mix]
Ansicht:   
Auf unserer Web-Seite werden Cookies eingesetzt, um diverse Funktionalitäten zu gewährleisten. Hier erfährst du alles zum Datenschutz