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

War es hilfreich?

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
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top