Jedoch wird das Makro dann immer für die aufgezeichnete Zeile angewendet und nicht für die Auswahl.
Ich habe ca. 30000 Zeilen und ich muss diese nachbearbeiten.
So sieht die Datenquelle aus:

Programmablauf:
Wenn in der Zelle D der jeweiligen Zeile der Inhalt "1.8.0" gefunden.
Mache eine Leerzeile genau darunter.
Kopiere die darüberliegende Zeile und füge sie in diese Leerzeile ein.
Bearbeite die gerade eingefügte Zeile wie folgt:
Inhalt Zelle D anpassen von "1.8.0" zu "1.8.1"
Inhalt von Zelle E berechnen
Wert von E darüberliegend minus Wert von E darunterliegend bspw.
So hätte meine Aufzeichnung ausgesehen:
Code: Alles auswählen
sub BerechnungKomplett
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:InsertRowsBefore", "", 0, Array())
rem ----------------------------------------------------------------------
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "ToPoint"
args2(0).Value = "$A$2:$E$2"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args2())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())
rem ----------------------------------------------------------------------
dim args4(0) as new com.sun.star.beans.PropertyValue
args4(0).Name = "ToPoint"
args4(0).Value = "$A$3"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args4())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Paste", "", 0, Array())
rem ----------------------------------------------------------------------
dim args6(0) as new com.sun.star.beans.PropertyValue
args6(0).Name = "ToPoint"
args6(0).Value = "$D$3"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args6())
rem ----------------------------------------------------------------------
dim args7(0) as new com.sun.star.beans.PropertyValue
args7(0).Name = "StringName"
args7(0).Value = "'1.8.1"
dispatcher.executeDispatch(document, ".uno:EnterString", "", 0, args7())
rem ----------------------------------------------------------------------
dim args8(0) as new com.sun.star.beans.PropertyValue
args8(0).Name = "ToPoint"
args8(0).Value = "$E$3"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args8())
rem ----------------------------------------------------------------------
dim args9(0) as new com.sun.star.beans.PropertyValue
args9(0).Name = "StringName"
args9(0).Value = "=E2-E4-E5-E6"
dispatcher.executeDispatch(document, ".uno:EnterString", "", 0, args9())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:JumpToNextCell", "", 0, Array())
end sub