OpenOffice Basic - 查找列中的数据点数

时间:2015-09-21 09:22:10

标签: openoffice-basic

我需要在单个列中找到数据点的数量,并将值放在OpenOffice Calc电子表格的给定单元格中。到目前为止,这是我的代码,如果有人可以告诉我哪里出错或者缺少什么,我会很感激。感谢。

Const DATA_COL = 1'数据的列号 Const DATA_ROW_START = 2'数据的起始行

'此函数查找数据列DATA_COL中的数据点数 '此功能的目的是确定A列中的数据点数 '你需要使用常数DATA_ROW_START(= 2)和DATA_COL(= 1) '在这个功能。具体而言,该函数使用第一个数据点在行DATA_ROW_START(= 2)中的数据,并且数据在列DATA_COL(= 1)中。

函数FindNumberOfDataPoints()As Long

Dim DATA_COL as Double
Dim DATA_ROW_START as Double
Dim count as Double
Dim row as Integer

count = 0
row = DATA_ROW_START 

While ActiveSheet.Cells(DATA_ROW_START,DATA_COL)<>"" 
        row = row + 1
        count = count + 1

Wend

If ActiveSheet.Cells(DATA_ROW_START,DATA_COL)> 0 Then
    row = row + 1

End If


count = ActiveSheet.Cells(row,DATA_COL)

ActiveSheet.Range("C11") = count 'Place count value in cell C11

结束功能

1 个答案:

答案 0 :(得分:0)

您可以轻松找到已使用的区域,例如,这会找到上次使用的行

Function getLastUsedRow(oSheet) as Integer
  Dim oCell
  Dim oCursor
  Dim oAddress
  oCell = oSheet.GetCellbyPosition( 0, 0 )
  oCursor = oSheet.createCursorByRange(oCell)
  oCursor.GotoEndOfUsedArea(True)
  oAddress = oCursor.RangeAddress
  GetLastUsedRow = oAddress.EndRow
End Function

您只需要查看列而不是行。