2008-09-22 13 views
16

Znam nazwę zakresu początku listy - 1 szerokość kolumny i x wierszy głębokich.Określanie liczby wierszy w zakresie

Jak obliczyć x?

W kolumnie jest więcej danych niż tylko ta lista. Jednak lista ta jest ciągła - nie ma niczego w żadnej z komórek powyżej lub poniżej lub obok niej.

+1

Czy możesz podać przykładowe wejście i przykład tego, czego chcesz? –

Odpowiedz

12
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 

Ale jeśli jesteś cholernie pewien, że nic wokół listy, a potem po prostu thisworkbook.Names(FirstCellName).RefersToRange.CurrentRegion.rows.count

2

Jestem pewien, że prawdopodobnie chciał odpowiedź, która dała @GSerg. Istnieje również funkcja arkusza roboczego o nazwie rows, która podaje liczbę wierszy.

Tak więc, jeśli masz nazwany zakres danych o nazwie Data, który ma 7 wierszy, to =ROWS(Data) pokaże 7 w tej komórce.

+0

cześć wcm dzięki - odpowiedź od GSerga jest tą, którą chciałem. Problem z formułą ROWS polegał na tym, że nie znałem adresu zakresu i nie mogłem użyć zakresu przesunięcia dynamicznego przy użyciu parametru counta, ponieważ w kolumnie było więcej danych – SpyJournal

1

Ta ostatnia linia działała idealnie @GSerg.

Inna funkcja była tym, nad czym pracowałem, ale nie lubię konieczności uciekania się do UDF, chyba że jest to absolutnie konieczne.

Próbowałem połączenia excel i vba i miał to do pracy - ale jego przylegające w porównaniu z odpowiedzią.

strArea = Sheets("Oper St Report CC").Range("cc_rev").CurrentRegion.Address 
cc_rev_rows = "=ROWS(" & strArea & ")" 
Range("cc_rev_count").Formula = cc_rev_rows 
5

Można również użyć:

Range(RangeName).end(xlDown).row 

znaleźć ostatni wiersz z danymi w nim począwszy od swojej nazwie zakresu.

47
Sheet1.Range("myrange").Rows.Count 
8

Dlaczego nie użyć formuły programu Excel do określenia wierszy? Na przykład, jeśli szukasz ile komórki zawierają dane w kolumnie A użyj:

= LICZ.WARUNKI (A: „<>”)

Można zastąpić <> z dowolnej wartości, aby uzyskać jak wiele wierszy zawiera tę wartość.

= LICZ.WARUNKI (A: "2008")

Może to być wykorzystane do znalezienia wypełnione komórki w rzędzie za.

Powiązane problemy