Determina il numero di righe in un intervallo [chiuso]
Domanda
Conosco il nome dell'intervallo dell'inizio di un elenco - 1
larghezza colonna e x
righe profondità.
Come posso calcolare <=>?
Nella colonna sono presenti più dati oltre a questo elenco. Tuttavia, questo elenco è contiguo: non c'è nulla in nessuna delle celle sopra o sotto o su entrambi i lati accanto.
Soluzione
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
Ma se sei dannatamente sicuro che non ci sia nulla intorno all'elenco, allora solo thisworkbook.Names(FirstCellName).RefersToRange.CurrentRegion.rows.count
Altri suggerimenti
Sheet1.Range("myrange").Rows.Count
Perché non usare una formula di Excel per determinare le righe? Ad esempio, se stai cercando quante celle contengono dati nella colonna A, usa questo:
= CONTA.PIÙ.SE (A: &; &; &; & A, quot lt gt quot;)
Puoi sostituire < > con qualsiasi valore per ottenere quante righe contengono quel valore.
= CONTA.PIÙ.SE (A: &; & A, quot 2008 quot;)
Questo può essere usato anche per trovare celle riempite in una riga.
Puoi anche usare:
Range( RangeName ).end(xlDown).row
per trovare l'ultima riga con i dati in essa contenuti a partire dall'intervallo denominato.
Sono sicuro che probabilmente volevi la risposta che @GSerg ha dato. C'è anche una funzione del foglio di lavoro chiamata rows
che ti darà il numero di righe.
Quindi, se si dispone di un intervallo di dati denominato Data
con 7 righe, =ROWS(Data)
mostrerà 7 in quella cella.
Quell'ultima riga ha funzionato perfettamente @GSerg.
L'altra funzione era quella su cui avevo lavorato ma non mi piace ricorrere agli UDF a meno che non sia assolutamente necessario.
Avevo provato una combinazione di Excel e VBA e l'avevo fatto funzionare, ma è goffo rispetto alla tua risposta.
strArea = Sheets("Oper St Report CC").Range("cc_rev").CurrentRegion.Address
cc_rev_rows = "=ROWS(" & strArea & ")"
Range("cc_rev_count").Formula = cc_rev_rows