17

リストの開始の範囲名を知っています-1列幅とx行の深さ。

どうやって計算するのx

列には、このリスト以外にも多くのデータがあります。ただし、このリストは連続しています。セルの上下または左右のセルには何もありません。

4

6 に答える 6

61
Sheet1.Range("myrange").Rows.Count
于 2009-08-05T14:35:11.070 に答える
11
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

于 2008-09-22T12:21:54.810 に答える
9

Excel の式を使用して行を決定しないのはなぜですか? たとえば、列 A にデータが含まれているセルの数を探している場合は、次のように使用します。

=COUNTIFS(A:A,"<>")

<> を任意の値に置き換えると、その値が含まれる行の数を取得できます。

=COUNTIFS(A:A,"2008")

これは、行内の塗りつぶされたセルを見つけるためにも使用できます。

于 2012-05-24T12:21:22.643 に答える
5

以下も使用できます。

Range( RangeName ).end(xlDown).row

名前付き範囲から始まるデータを含む最後の行を検索します。

于 2008-09-22T14:19:22.563 に答える
3

@GSerg の答えが欲しかったのではないでしょうか。行数を取得するというワークシート関数もありrowsます。

したがって、Data7 行の名前付きデータ範囲がある場合=ROWS(Data)、そのセルには 7 が表示されます。

于 2008-09-22T12:36:56.647 に答える
1

その最後の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
于 2008-09-22T12:41:04.327 に答える