Makro zum Finden einer Leer Zelle

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Tino.806
Beiträge: 4
Registriert: Mi, 08.07.2009 09:56

Makro zum Finden einer Leer Zelle

Beitrag von Tino.806 »

Hallo Leute
Oo 3.2

Suche ein Makro was mir in der Spalte C9:C5000 die erste freie Zelle findet und den Couser entsprechend in der Spalte A platziert.


Mfg
Tino


Moderation,4: Beitrag in zuständiges Unterforum verschoben
Karolus
********
Beiträge: 7117
Registriert: Mo, 02.01.2006 19:48

Re: Makro zum Finden einer Leer Zelle

Beitrag von Karolus »

Hallo
Mit der Tastenfolge 'strg+↓' ...'↓'...'strg+←' kommst du auch dahin.
Folgendes ist die gekürzte Makroaufzeichnung dieser Tastenfolge.

Code: Alles auswählen

sub gehe_zu_A_in_1_freier_zelle_in_C
dim document   as object
dim dispatcher as object
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
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())
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())
dispatcher.executeDispatch(document, ".uno:GoDown", "", 0, args2())
dispatcher.executeDispatch(document, ".uno:GoLeftToStartOfData", "", 0, args2())
end sub
Gruß Karo
Version: 6.1.5.2
Build-ID: 1:6.1.5-3+rpi1+deb10u6+rpt1
raspberry-pi-OS
turtle47
*******
Beiträge: 1849
Registriert: Mi, 04.01.2006 20:10
Wohnort: Rheinbach

Re: Makro zum Finden einer Leer Zelle

Beitrag von turtle47 »

Hallo Zusammen,
Tino.806 hat geschrieben:in der Spalte C9:C5000
wenn im Zellbereich "C1:C8" leere Zellen vorhanden sein können, dann sollte in dem Code von Karolus die Zeile
args1(0).Value = "$C$1"
in
args1(0).Value = "$C$9"
geändert werden, weil sonst eine falsche Zeile gefunden werden könnte.

Hier noch ein Alternativcode:

Code: Alles auswählen

Sub Find_last_Row_C
	Sheet = ThisComponent.CurrentController.ActiveSheet   
	c = Sheet.getCellRangeByName("C9:C5000").queryEmptyCells
	getFirstEmptyRowInColumn = Split(c.RowDescriptions(0)," ")
	oRow = getFirstEmptyRowInColumn(1)
	mycell =  Sheet.getCellRangeByName("A" & oRow)	
	myView = thisComponent.CurrentController
	myView.Select(mycell)
End Sub
Jürgen
Software hat keinen Verstand - benutze deinen eigenen...!

Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Tino.806
Beiträge: 4
Registriert: Mi, 08.07.2009 09:56

Re: Makro zum Finden einer Leer Zelle

Beitrag von Tino.806 »

Hallo Karolos

Danke für die schnelle Antwort.

Konnte erst heute nachschauen da der PC ausgefallen war.
Habe dein Makro übernommen und den Vorschlag von turtle47 umgesetzt.
Nun ist das Makro wie es sein soll und findet mir die erste freie Zelle in der Spalte C und platziert den Couser entsprechend in der Spalte A.


Mfg Tino
Antworten