0

1 つの列内のデータ ポイントの数を見つけて、その値を 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

終了機能

4

1 に答える 1

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

行ではなく列を見るだけです。

于 2016-09-13T17:25:23.603 に答える