我知道列表開始的範圍名稱 - 列爲1
,列深爲x
。確定一個範圍內的行數
我該如何計算x
?
列中的數據比此列表中的數據更多。但是,這個列表是連續的 - 在上面或下面的任何一個單元格中或者任何一個單元格旁邊都沒有任何內容。
我知道列表開始的範圍名稱 - 列爲1
,列深爲x
。確定一個範圍內的行數
我該如何計算x
?
列中的數據比此列表中的數據更多。但是,這個列表是連續的 - 在上面或下面的任何一個單元格中或者任何一個單元格旁邊都沒有任何內容。
Function ListRowCount(ByVal FirstCellName as String) as Long
With thisworkbook.Names(FirstCellName).RefersToRange
If isempty(.Offset(1,0).value) Then
ListRowCount = 1
Else
ListRowCount = .End(xlDown).row - .row + 1
End If
End With
End Function
但如果你是該死的肯定有各地的名單什麼的,然後就thisworkbook.Names(FirstCellName).RefersToRange.CurrentRegion.rows.count
我相信,你可能想要一個@GSerg給出了答案。還有一個名爲rows
的工作表函數,它將爲您提供行數。
因此,如果您有一個名爲Data
的具有7行的命名數據範圍,則=ROWS(Data)
將在該單元中顯示7。
嗨wcm 謝謝 - GSerg的答案是我想要的。 我用ROWS公式的問題是我不知道範圍地址,我不能使用counta的動態偏移量範圍,因爲列中有更多的數據 – SpyJournal 2008-09-22 12:42:53
那最後一行最後一行完美@GSerg。
其他功能是我一直在努力,但我不喜歡不得不求助於UDF,除非絕對必要。
我一直在嘗試一個excel和vba的組合,並且已經得到了這個工作 - 但它的笨重和你的答案相比。
strArea = Sheets("Oper St Report CC").Range("cc_rev").CurrentRegion.Address
cc_rev_rows = "=ROWS(" & strArea & ")"
Range("cc_rev_count").Formula = cc_rev_rows
您還可以使用:
Range(RangeName).end(xlDown).row
找到最後一行開始在你的命名範圍中包含數據。
Sheet1.Range("myrange").Rows.Count
爲什麼不使用Excel公式來確定行?舉例來說,如果你正在尋找有多少細胞在列包含數據的用途是:
= COUNTIFS(A:A,「<>」)
你可以用任何值代替<>獲得如何許多行都有它的價值。
= COUNTIFS(A:A, 「2008」)
這可以被用於在一排發現填充細胞太。
您能否提供一個示例輸入以及您想要的示例? – 2008-09-22 12:16:44