Bestimmen der Anzahl von Zeilen in einem Bereich [geschlossen]
Frage
Ich kenne die Bereichsnamen des Beginns eine Liste -. 1
Spalte breit und x
Reihen tief
Wie kann ich berechnen x
?
Es gibt mehr Daten in der Spalte als nur diese Liste. Allerdings ist diese Liste zusammenhängende -. Es gibt nichts, in einer der Zellen oberhalb oder unterhalb oder beiden Seiten daneben
Lösung
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
Aber wenn Sie sind verdammt sicher, dass es nichts um die Liste, dann thisworkbook.Names(FirstCellName).RefersToRange.CurrentRegion.rows.count
nur
Andere Tipps
Sheet1.Range("myrange").Rows.Count
Warum verwenden, um eine Excel-Formel nicht die Zeilen bestimmen? Zum Beispiel, wenn Sie suchen, wie viele Zellen enthalten Daten in Spalte A verwenden diese:
= COUNTIFS (A: A, "<>")
können Sie ersetzen <> mit einem beliebigen Wert zu erhalten, wie viele Zeilen, diesen Wert in ihm hat.
= COUNTIFS (A: A, "2008")
Dies kann auch für die Suche nach gefüllten Zellen in einer Zeile verwendet werden.
Sie können auch verwendet werden:
Range( RangeName ).end(xlDown).row
die letzte Zeile mit Daten darin zu finden in Ihrem benannten Bereich zu starten.
Ich bin sicher, dass Sie wahrscheinlich die Antwort, die @GSerg gab wollten. Es gibt auch eine Tabellenfunktion namens rows
, dass Sie die Anzahl der Zeilen geben.
Wenn Sie also einen benannten Datenbereich genannt Data
haben, die 7 Reihen hat, dann wird =ROWS(Data)
zeigen 7 in dieser Zelle.
Die einzige letzte Zeile funktionierte perfekt @GSerg.
Die andere Funktion wurde, was ich gearbeitet habe, aber ich mag es nicht, wenn es nicht unbedingt notwendig, um UDF zu müssen.
Ich hatte eine Kombination von Excel und VBA versucht und hatte bekam dies funktioniert - aber seine klobig im Vergleich mit Ihrer Antwort
.strArea = Sheets("Oper St Report CC").Range("cc_rev").CurrentRegion.Address
cc_rev_rows = "=ROWS(" & strArea & ")"
Range("cc_rev_count").Formula = cc_rev_rows