Ich habe ein Makro das auf allen Tabellenblättern ausgeführt werden soll. Im Moment macht es das nur auf dem 1. Blatt. Was muss ich denn ändern damit das funktioniert?
REM ***** BASIC *****
Sub Main
End Sub
sub Tom
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 ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$CZ$27:$EL$31"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())
rem ----------------------------------------------------------------------
dim args3(0) as new com.sun.star.beans.PropertyValue
args3(0).Name = "ToPoint"
args3(0).Value = "$CZ$33"
Moderation,4: Zweitposting im CALC-Bereich gelöscht; CODE-Tags gesetzt
Hallo
@Klaus
Dein "Rahmenwerk" nutzt dem aufgezeichnetem Code herzlich wenig, er wird trotzdem nur auf dem Tabellenblatt arbeiten das aktuell selektiert ist.
sub copyall
oDoc = thisComponent
for i = 0 to odoc.sheets().count -1
oquelle = odoc.sheets(i).getCellrangebyName("CZ27:EL31").getRangeAddress
oziel = odoc.sheets(i).getCellrangebyName("CZ33").getcellAddress
odoc.sheets(i).copyRange( oziel , oQuelle )
next i
end sub
Danke für eure Hilfe. Hab aber herausgefunden daß das Makro was ich hier rein habe gar nicht das richtige ist was zuständig ist für meine Berechnung. Diese Makro hier macht wohl das Richtige. Es steht aber als "VBA-Projekt" drin. Kann man das auch so ändern das auf allen Blättern immer gleich gerechnet wird?