von bst » Mi, 15.06.2011 10:47
Morgen,
über den Autofilter ausgeblendete Zeilen werden hier in LibreoOffice 3.4 nicht mit kopiert.
Für manuell ausgeblendete Zeilen versuche mal so etwas Ähnliches.
Kopiert nicht ausgeblendete Zeilen von Tabelle1 nach Tabelle2.
HTH, Bernd
--
Code: Alles auswählen
REM ***** BASIC *****
Sub CopyVisibleLines
oDocument = ThisComponent
oSheet1 = oDocument.Sheets.getByIndex(0)
oSheet2 = oDocument.Sheets.getByIndex(1)
for i = 0 to getLastLine(oSheet1)
if oSheet1.Rows(i).IsVisible Then
oSrcRange = oSheet1.getCellRangeByPosition(0,i,255,i).getRangeAddress
oDstCell = oSheet2.getCellByPosition(0,j).getCellAddress
oSheet2.copyRange(oDstCell, oSrcRange)
j = j + 1
endif
next
End Sub
Function getLastLine(oSheet as Object) as Long
oController = ThisComponent.currentController
oCursor = oSheet.createCursor()
oCursor.goToEndOfUsedArea(false)
getLastLine = oCursor.getRangeAddress().endRow
End Function
Morgen,
über den Autofilter ausgeblendete Zeilen werden hier in LibreoOffice 3.4 nicht mit kopiert.
Für manuell ausgeblendete Zeilen versuche mal so etwas Ähnliches.
Kopiert nicht ausgeblendete Zeilen von Tabelle1 nach Tabelle2.
HTH, Bernd
--
[code]REM ***** BASIC *****
Sub CopyVisibleLines
oDocument = ThisComponent
oSheet1 = oDocument.Sheets.getByIndex(0)
oSheet2 = oDocument.Sheets.getByIndex(1)
for i = 0 to getLastLine(oSheet1)
if oSheet1.Rows(i).IsVisible Then
oSrcRange = oSheet1.getCellRangeByPosition(0,i,255,i).getRangeAddress
oDstCell = oSheet2.getCellByPosition(0,j).getCellAddress
oSheet2.copyRange(oDstCell, oSrcRange)
j = j + 1
endif
next
End Sub
Function getLastLine(oSheet as Object) as Long
oController = ThisComponent.currentController
oCursor = oSheet.createCursor()
oCursor.goToEndOfUsedArea(false)
getLastLine = oCursor.getRangeAddress().endRow
End Function[/code]