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.

È stato utile?

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
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top