Code: Alles auswählen
SPALTEID = 0 ' beliebig
FLAGS = 23 ' 1+2+4+16 siehe openoffice.org/api/docs/common/ref/com/sun/star/sheet/CellFlags.html
ZELLEN = thiscomponent.currentcontroller.getactivesheet.columns( SPALTEID ).querycontentcells( FLAGS )
ANZAHLBEREICHE = ubound( ZELLEN.rangeaddresses )
if ANZAHLBEREICHE > -1 then
ZEILELETZTE = ZELLEN.rangeaddresses( ANZAHLBEREICHE ).endrow
print "ZEILELETZTE: " & cstr( ZEILELETZTE ) & " in SPALTEID " & cstr( SPALTEID ) & " mit FLAGS: " & cstr( FLAGS ) & " ! "
else
print "keine FLAGS-" & cstr( FLAGS ) & "-zellen in SPALTEID " & cstr( SPALTEID ) & " ! "
endif
Code: Alles auswählen
FLAGS = 0023 ' 1+2+4+16 siehe openoffice.org/api/docs/common/ref/com/sun/star/sheet/CellFlags.html
ZELLEN = thiscomponent.currentcontroller.getactivesheet.querycontentcells( FLAGS )
ANZAHLBEREICHADRESSEN = ubound( ZELLEN.rangeaddresses )
if ANZAHLBEREICHADRESSEN > -1 then
for BEREICHADRESSEJETZT = 0 to ANZAHLBEREICHADRESSEN
if ZELLEN.rangeaddresses( BEREICHADRESSEJETZT ).endcolumn > SPALTELETZTE then
SPALTELETZTE = ZELLEN.rangeaddresses( BEREICHADRESSEJETZT ).endcolumn
endif
if ZELLEN.rangeaddresses( BEREICHADRESSEJETZT ).endrow > ZEILELETZTE then
ZEILELETZTE = ZELLEN.rangeaddresses( BEREICHADRESSEJETZT ).endrow
endif
next
print "SPALTELETZTE: " & cstr( SPALTELETZTE ) & " und ZEILELETZTE: " & cstr( ZEILELETZTE ) & " mit FLAGS: " & cstr( FLAGS ) & " ! "
else
print "keine FLAGS-" & cstr( FLAGS ) & "-zellen ! "
endif
------------------------------------------------------------------------------------------------------------
hallo forum
ich möchte in meinem code die letzte befüllte zeile einer spalte ermitteln lassen
allerdings fehlen mir dazu - eigentlich wie immer - die werkzeuge
ich habe ausprobiert und mir angesehen, wie es mit dem dispatcher funktioniert, wenn man das als makro aufgenommen hat
Code: Alles auswählen
sub spaltende
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
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 = "$D$2"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
rem ----------------------------------------------------------------------
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())
ZEILE = thiscomponent.currentselection.celladdress.row
print "letzte zeile in spalte d = " & cstr(ZEILE + 1)
end sub
wer kann nachhelfen?