[Opgelost] macro gezocht
[Opgelost] macro gezocht
Wie helpt mij aan een macro die naar de eerste lege cel gaat in kolom C van een actief rekenblad?
Laatst gewijzigd door Valentin op zo okt 17, 2010 5:34 pm, 2 keer totaal gewijzigd.
OpenOffice 3.2 Linux Mint + Win 7
Re: macro gezocht
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:
Groeten, Dirk
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
Dirk
OpenOffice.org 3.2.1 / Ubuntu 10.10 (Maverick)
OpenOffice.org 3.2.1 / Ubuntu 10.10 (Maverick)
-
- Berichten: 41
- Lid geworden op: wo jan 06, 2010 4:26 pm
Re: Opgelost Re: macro gezocht
Een alternatieve oplossing misschien.Valentin schreef:Dank voor de reactie en oplossing
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
Leo
Het is voor mij een grote troost dat er geen domme vragen zijn.
Het is voor mij een grote troost dat er geen domme vragen zijn.