Funzione VBA COUNTA di Excel

Potresti aver usato spesso le funzioni COUNT e COUNTA in Microsoft Excel. In cui COUNT acquisisce tutti i valori numerici in una cella, COUNTA acquisisce tutte le celle non vuote (comprese le stringhe). È assolutamente possibile utilizzare la funzione COUNTA tramite VBA? Assolutamente si! È possibile utilizzare la funzione COUNTA tramite VBA come funzione del foglio di lavoro (in quanto fa parte della famiglia WorksheetFunction all'interno di VBA) per contare le celle non vuote attraverso un determinato intervallo di fogli di lavoro. Il vantaggio della funzione COUNTA su COUNT è: può contare qualsiasi cosa (numeri, stringhe, caratteri speciali, valori di errore, ecc.) Tranne le celle vuote in un dato intervallo, mentre COUNT può contare solo il numero di celle che consistono nei valori numerici .

Sintassi VBA COUNTA:

La sintassi per la funzione VBA COUNTA è la seguente:

Dove,

Arg1 - Specifica l'argomento per questa funzione che è obbligatorio e può assumere qualsiasi valore non vuoto come numero, stringa, valori di errore (come # N / A, # DIV / 0!), Caratteri speciali, ecc. Altri argomenti sono opzionale.

Questa funzione può accettare un massimo di 30 argomenti in una singola chiamata. Un argomento può essere costituito da un intervallo di celle o da un singolo valore immesso manualmente.

Come utilizzare la funzione COUNTA in Excel VBA?

Di seguito sono riportati i diversi esempi per utilizzare la funzione COUNTA in Excel utilizzando il codice VBA.

Puoi scaricare questo modello Excel VBA COUNTA qui - Modello Excel VBA COUNTA

Esempio n. 1 - VBA COUNTA con argomenti manuali come input

Vedremo come funziona la funzione COUNTA quando forniamo argomenti manuali in VBA. Seguire i passaggi indicati di seguito:

Passaggio 1: inserire un nuovo modulo in Visual Basic Editor (VBE). Fai clic sulla scheda Inserisci > seleziona Modulo.

Passaggio 2: definire una nuova procedura secondaria all'interno del modulo appena inserito, che può contenere la macro.

Codice:

 Esempio secondario_1 () Fine sottotitolo 

Passaggio 3: decidere dove si desidera memorizzare l'output per la funzione COUNTA. Voglio salvarlo nella cella A2 del foglio denominato " Esempio 1 ". Per fare ciò, dobbiamo usare il metodo Sheets.Range in VBA. Vedi il seguente screenshot per il tuo riferimento:

Codice:

 Sub Esempio_1 () Fogli ("Esempio 1"). Range ("A2") End Sub 

Questo pezzo di codice seleziona la cella A2 come intervallo dal foglio chiamato Esempio 1.

Passaggio 4: utilizzare un operatore di assegnazione in modo che possiamo assegnare il valore alla cella a cui si accederà tramite il codice sopra. Aggiungi l'oggetto denominato WorksheetFunction in modo che possiamo accedere alla funzione COUNTA sotto di esso.

Codice:

 Sub esempio_1 () Fogli ("esempio 1"). Intervallo ("A2") = Foglio di lavoro Funzione Sottotitolo secondario 

Passaggio 5: inserisci un punto (.) Dopo aver specificato l'oggetto e vedrai un elenco di funzioni disponibili da utilizzare al di sotto di esso. Selezionare COUNTA dall'elenco di più funzioni disponibili che consente di contare le celle o i valori non vuoti.

Passaggio 6: specificare gli argomenti manualmente nella funzione COUNTA. Gli argomenti sono: "Rajnish", "# N / A", 1, "*", True. Abbiamo cercato di portare tutti i tipi di dati come argomento per questa funzione.

Codice:

 Sub Esempio_1 () Fogli ("Esempio 1"). Range ("A2") = WorksheetFunction.CountA ("Rajnish", "# N / A", 1, "*", True) End Sub 

Passaggio 7: eseguire questo pezzo di codice premendo F5 o il pulsante Esegui e vedere l'output nella cella A2 del foglio " Esempio 1 " nella cartella di lavoro attiva.

In questo codice, vogliamo che il sistema conti gli argomenti di input e memorizzi il conteggio nella cella A2 del foglio Esempio 1.

Esempio n. 2 - VBA COUNTA per contare le celle non vuote in un determinato intervallo

Supponiamo di avere tutti i dati nella colonna A e di dover contare quali sono le righe non vuote dell'intera colonna. Poiché l'intera colonna è composta da più di 10 righe di Lac, è un tempo ideale per me navigare e contare ogni cella non vuota. Vedi lo screenshot parziale dei dati di seguito.

Segui i passaggi seguenti:

Passaggio 1: definire una nuova procedura secondaria che può contenere la macro.

Codice:

 Sub Esempio_2 () End Sub 

Passaggio 2: definire due nuove variabili in questa sotto-procedura come intervallo utilizzando Dim . Una variabile sarà utile per contenere l'intervallo della colonna dell'argomento di input e altre variabili saranno utili per contenere la cella in cui vogliamo l'output come numero contato.

Codice:

 Sub Esempio_2 () Dim rng_1 As Range Dim op_cell As Range End Sott 

Qui, rng_1 memorizzerà l'intervallo di input per la funzione COUNTA. L'output di COUNTA verrà memorizzato nella variabile op_cell .

Passaggio 3: ora imposta l'intervallo per entrambe le variabili utilizzando la proprietà Set VBA. Questo deve essere fatto perché non possiamo assegnare direttamente un valore a una variabile definita come oggetto range.

Codice:

 Sub Esempio_2 () Dim rng_1 As Range Dim op_cell As Range Set rng_1 = Range ("A: A") Set op_cell = Range ("B1") End Sub 

Qui, la variabile rng_1 è stata impostata nell'intervallo dell'intera colonna denominata A. op_cell è impostata sulla cella B1 come sarebbe la cella che contiene l'output di COUNTA.

Passaggio 4: ora, utilizzare l'operatore di assegnazione generale rispetto alla variabile op_cell, in modo da poter memorizzare l'output nella cella impostata su quella variabile. Questo può essere considerato come un'inizializzazione dell'output.

Codice:

 Sub Esempio_2 () Dim rng_1 As Range Dim op_cell As Range Set rng_1 = Range ("A: A") Set op_cell = Range ("B1") op_cell = End Sub 

Passaggio 5: utilizzare l'oggetto WorksheetFunction sul lato destro dell'operatore di assegnazione (sarebbe un'espressione che verrà valutata e il valore verrà archiviato nella cella impostata su variabile op_cell) per inizializzare la classe all'interno della quale è possibile accedere e utilizzare Funzione COUNTA.

Codice:

 Sub Esempio_2 () Dim rng_1 As Range Dim op_cell As Range Set rng_1 = Range ("A: A") Set op_cell = Range ("B1") op_cell = WorksheetFunction End Sub 

Passaggio 6: non appena si preme il punto (.) Dopo l'oggetto WorksheetFunction, è possibile accedere a tutte le funzioni disponibili in quella classe. Navigare verso la funzione COUNTA e fare doppio clic su di essa per selezionare.

Passaggio 7: utilizzare la variabile rng_1 come argomento di input in COUNTA. Pertanto, questa funzione nella classe di oggetti funzione foglio di lavoro può contare le celle non vuote presenti all'interno dell'intera colonna A.

Codice:

 Esempio secondario_2 () Dim rng_1 As Range Dim op_cell As Range Set rng_1 = Range ("A: A") Set op_cell = Range ("B1") op_cell = WorksheetFunction.CountA (rng_1) End Sub 

Passaggio 8: esegui questo codice premendo il pulsante F5 o Esegui e puoi vedere l'output come mostrato di seguito nella cella B1 di un foglio attivo dalla cartella di lavoro.

Nella cella B1 possiamo vedere un numero come 17. Ciò significa che nella colonna A del foglio di lavoro sono presenti 17 celle non vuote. Potresti non vedere affatto i 17 attraverso questo screenshot in quanto è parziale. Faresti meglio a vedere il foglio di lavoro e navigare attraverso la colonna A.

Cose da ricordare

  • Puoi usare la funzione VBA COUNTA quando devi contare il numero di celle non vuote presenti nell'intervallo dato.
  • COUNTA considera tutti i valori come numeri, stringhe, valori di errore, valori booleani, testo vuoto (“”). Tuttavia, non considera la cella vuota.
  • Le celle vuote non verranno conteggiate utilizzando la funzione COUNTA e verranno ignorate.
  • È possibile utilizzare manualmente gli argomenti nella funzione VBA COUNTA e funziona ancora.

Articoli consigliati

Questa è una guida alla funzione VBA COUNTA. Qui discutiamo come usare la funzione COUNTA in VBA di Excel insieme ad esempi pratici e template Excel scaricabili. Puoi anche consultare i nostri altri articoli suggeriti:

  1. Come creare un oggetto di raccolta in VBA?
  2. Come contare i personaggi in Excel?
  3. FileCopy in VBA (esempi con modello di Excel)
  4. Conta celle con testo in Excel | Modello di Excel

Categoria: