torsdag den 13. oktober 2016

Beregn antal linjer/rækker i et ark

Vi vil gerne et skridt videre med det regneark vi importerede i en tidligere artikel. Du kan læse hvordan vi importerede data fra en CSV-fil her: http://libreofficedk.blogspot.dk/2016/10/indlse-en-fil-linje-for-linje-makro.html

Problemet med den importerede fil er blandt andet, at vi ikke på forhånd kender antallet af rækker i tabellen. Det vil være praktisk, hvis vi kan undersøge hvor mange rækker der er.

Sub testEndColRow
  oSheet = ThisComponent.Sheets.getByIndex(2)             
  nEndCol = getLastUsedColumn(oSheet)
  nEndRow = getLastUsedRow(oSheet)
  oCell = oSheet.GetCellByPosition(nEndCol+1, nEndRow+1)     
  Print oCell.AbsoluteName
End Sub


Function GetLastUsedColumn(oSheet) As Integer
  Dim oCursor
  oCursor = oSheet.createCursor
  oCursor.GotoEndOfUsedArea(True)
  GetLastUsedColumn = oCursor.RangeAddress.EndColumn
End Function


Function GetLastUsedRow(oSheet) As Integer
  Dim oCursor
  oCursor = oSheet.createCursor
  oCursor.GotoEndOfUsedArea(True)
  GetLastUsedRow = oCursor.RangeAddress.EndRow
End Function


Resultatet ser sådan ud: