Libre Office

[gelöst] Makro CALC letzte Zeile in vorgegebenen Bereich

Alles zur Programmierung im LibreOffice.
Antworten
craig
* LO-Experte *
Beiträge: 1137
Registriert: Do 21. Apr 2016, 11:42

[gelöst] Makro CALC letzte Zeile in vorgegebenen Bereich

Beitrag von craig » Sa 15. Okt 2016, 19:46

Hallo,

im Anhang befindet sich eine Datei mit einem Makro, welches mir die
letzte befüllte Zelladresse in einem vorgebenen Bereich wiedergeben soll.

Dieses funktioniert nicht.
Es wird bei Ausführung immer das gesamte Blatt berücksichtigt,
anstelle des angegebenen Bereichs (A2:A10).

Code: Alles auswählen

Sub Main
Dim oDoc
Dim oCell
Dim oCursor
Dim aAddress

odoc =thiscomponent
'oSheet=oDoc.getCurrentController.ActiveSheet
oSheet=oDoc.getSheets.getByIndex(0)
  oCell = oSheet.getCellRangeByName("A2:A10")

  oCursor = oSheet.createCursorByRange(oCell)
  oCursor.gotoEndOfUsedArea(true)

  aAddress = oCursor.RangeAddress

msgbox "Spalte " & aAddress.EndColumn & CHR$(10) & "Zeile " & aAddress.EndRow

End Sub
LastRow in Spalte A.ods
(11.98 KiB) 229-mal heruntergeladen
Was ist erforderlich damit nur dieser Bereich berücksichtigt wird?

Gruß

Craig
Zuletzt geändert von craig am Sa 15. Okt 2016, 22:04, insgesamt 1-mal geändert.
Gruß

Craig

Nie die Sicherungskopie vergessen!

════════════════════════════════════════════════
WIN 10 Pro 64-Bit • LO 7.4.5.1 (x64) • AOO 4.1.8

F3K Total
* LO-Experte *
Beiträge: 2516
Registriert: So 10. Apr 2011, 10:10

Re: Makro CALC letzte Zeile in vorgegebenen Bereich

Beitrag von F3K Total » Sa 15. Okt 2016, 21:54

Hi,
versuchs mal so:

Code: Alles auswählen

Sub Main
    odoc = thiscomponent
    oSheet = oDoc.Sheets(0)
    oCellRange = oSheet.getCellRangeByName("A2:A10")
    oEmptyCells = oCellRange.queryEmptyCells
    oFirstEmptyCell = oEmptyCells(0).getCellByPosition(0,0)
    sColumn = oFirstEmptyCell.Columns(0).Name
    aCelladdress = oFirstEmptyCell.Celladdress
    msgbox ("Ergebnis:" & CHR$(10) & "Spalte " & oFirstEmptyCell.Columns(0).Name & " (Nr. " &aCelladdress.Column + 1 &")" & CHR$(10) & "Zeile " & aCelladdress.Row + 1,64,"Erste leere Zelle")
End Sub
Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO

craig
* LO-Experte *
Beiträge: 1137
Registriert: Do 21. Apr 2016, 11:42

[gelöst] Re: Makro CALC letzte Zeile in vorgegebenen Bereich

Beitrag von craig » Sa 15. Okt 2016, 22:03

Hallo R,

funktioniert perfekt!

Vielen Dank.

Gruß

Craig
Gruß

Craig

Nie die Sicherungskopie vergessen!

════════════════════════════════════════════════
WIN 10 Pro 64-Bit • LO 7.4.5.1 (x64) • AOO 4.1.8

Open Office
Antworten