web-dev-qa-db-ja.com

範囲内の行数を決定する

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

xの計算方法は?

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

17
SpyJournal
_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

11
GSerg
Sheet1.Range("myrange").Rows.Count
56
orwell

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

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

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

= COUNTIFS(A:A、 "2008")

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

8
user1371038

以下も使用できます。

Range( RangeName ).end(xlDown).row

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

5
Jon Fournier

@GSergが出した答えをおそらく望んでいたと思います。行数を示すrowsというワークシート関数もあります。

したがって、7行のDataという名前のデータ範囲がある場合、=ROWS(Data)はそのセルに7を表示します。

3
wcm

最後の1行は@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
1
SpyJournal