› Sviluppare funzionalita su Microsoft Office con VBA › Conteggio celle piene all'interno di un'intervallo
-
AutoreArticoli
-
Buongiorno, dovrei contare le celle piene all'interno di un'intervallo ma non riesco a trovare la funzione giusta, ho provato ad associare le celle del range utilizzando = ad celle in una colonna nella quale posso effettuare la ricerca su tutta la colonna e ho utilizzato la seguente stringa:
Dim NumeroRighedaCopiare As Long
NumeroRighedaCopiare = OffertaDistributore.Cells(Rows.Count, "G").End(xlUp).Row
ma conto tutte le celle, perchè mi conta anche l'=.
C'è qualcuno che ha qualche dritta da darmi ?
Grazie
Nazareno
Puoi utilizzare COUNTA che è la versione formula della funzione WorkSheetFunction.CountA di VBA:
NumeroRighedaCopiare = [COUNTA(G:G)]
Questa istruzione conta il numero di celle piene della colonna G e restituisce il risultato. La notazione con le parentesi quadre è una abbreviazione per Evaluate() pertanto è da ricordare che conta come piene anche le celle con formula (anche se il risultato della formula è una cella vuota o zero).
Se OffertaDistributore è il nome del foglio e vuoi riferirti esplicitamente ad esso devi usare la notazione che useresti in una formula:
NumeroRighedaCopiare = [COUNTA(OffertaDistributore!G:G)]
Lo svantaggio di questo metodo è la lentezza (è un'istruzione lenta), il vantaggio è la semplicità di scrittura e di comprensione.
Grazie tante,
il mio problema è proprio quello di non contare le celle con le formule.., perchè il dato presente nelle celle da contare è proprio il risultato dell'operazione e se l'operazione non ha risultato non dovrei contare la cella, perchè altrimenti quando la vado ad archiviare riempio l'archivio di righe vuote, invece vorrei contare unicamente le celle piene in modo d'archiviare solo quelle salvare spazio nell'archivio...
Grazie tante..
Risolto
-
AutoreArticoli