リストの開始の範囲名を知っています-1
列幅とx
行の深さ。
どうやって計算するのx
?
列には、このリスト以外にも多くのデータがあります。ただし、このリストは連続しています。セルの上下または左右のセルには何もありません。
Sheet1.Range("myrange").Rows.Count
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
Excel の式を使用して行を決定しないのはなぜですか? たとえば、列 A にデータが含まれているセルの数を探している場合は、次のように使用します。
=COUNTIFS(A:A,"<>")
<> を任意の値に置き換えると、その値が含まれる行の数を取得できます。
=COUNTIFS(A:A,"2008")
これは、行内の塗りつぶされたセルを見つけるためにも使用できます。
以下も使用できます。
Range( RangeName ).end(xlDown).row
名前付き範囲から始まるデータを含む最後の行を検索します。
@GSerg の答えが欲しかったのではないでしょうか。行数を取得するというワークシート関数もありrows
ます。
したがって、Data
7 行の名前付きデータ範囲がある場合=ROWS(Data)
、そのセルには 7 が表示されます。
その最後の1行は@GSergで完璧に機能しました。
もう 1 つの機能は私が取り組んできた機能ですが、どうしても必要な場合を除き、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