Seite 1 von 1

Makro zum Finden einer Leer Zelle

Verfasst: Sa, 29.05.2010 14:52
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

Re: Makro zum Finden einer Leer Zelle

Verfasst: Sa, 29.05.2010 15:14
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

Re: Makro zum Finden einer Leer Zelle

Verfasst: Sa, 29.05.2010 18:02
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

Re: Makro zum Finden einer Leer Zelle

Verfasst: So, 06.06.2010 07:05
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