Pagina 1 van 1

[Opgelost] macro gezocht

Geplaatst: zo okt 17, 2010 11:23 am
door Valentin
Wie helpt mij aan een macro die naar de eerste lege cel gaat in kolom C van een actief rekenblad?

Re: macro gezocht

Geplaatst: zo okt 17, 2010 3:26 pm
door DvanAken
Ik heb even geprobeerd of ik kon bereiken wat je wilt door macro's op te nemen. Dit geeft in ieder geval resultaat, al vind ik de code niet helemaal overzichtelijk.
Het opnemen heb ik gedaan via Extra - Macro's - Macro opnemen. In eerste instantie de actieve cel naar C1 gebracht, daarna in een aparte macro naar de eerste lege cel. Hierbij maakte ik gebruik van het feit dat je met Ctrl + [Pijl naar beneden] naar de laatste waarde van een rijtje springt. Nog één cel naar beneden zit dus een lege cel en die zocht je blijkbaar.
De macro kun je zoals gebruikelijk starten via het menu, of door een besturingselement (knop) op je spreadsheet te zetten.

De code wordt:

Code: Selecteer alles

REM  *****  BASIC  *****


sub C_Leeg
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 ga naar C1 ----------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$C$1"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())

rem srping naar laatste cel in kolom C ---------------------------------------
dim args2(1) as new com.sun.star.beans.PropertyValue
args2(0).Name = "By"
args2(0).Value = 1
args2(1).Name = "Sel"
args2(1).Value = false

dispatcher.executeDispatch(document, ".uno:GoDownToEndOfData", "", 0, args2())

rem ga nog 1 cel verder omlaag -------------------------------------------
dim args3(1) as new com.sun.star.beans.PropertyValue
args3(0).Name = "By"
args3(0).Value = 1
args3(1).Name = "Sel"
args3(1).Value = false

dispatcher.executeDispatch(document, ".uno:GoDown", "", 0, args3())

end sub
Groeten, Dirk

Opgelost Re: macro gezocht

Geplaatst: zo okt 17, 2010 5:26 pm
door Valentin
Dank voor de reactie en oplossing

Re: Opgelost Re: macro gezocht

Geplaatst: ma okt 18, 2010 11:33 am
door LeoDeWeerdt
Valentin schreef:Dank voor de reactie en oplossing
Een alternatieve oplossing misschien.

Sheet(6) is het 7de blad (Blad 1 = Nummer 0)

Code: Selecteer alles

Sub Test
Dim oSheet as Object, oCell as Object    
    oSheet = ThisComponent.Sheets(6)
    oCell=  oSheet.getCellRangeByName("A1")
    ThisComponent.getCurrentController().select(oCell)
End Sub