Contatore in Excel VBA

Esistono vari modi di contare in MS Excel. Possiamo usare funzioni integrate come Count, CountIf, CountA, CountBlank che sono presenti in Excel. Ma queste funzioni non funzioneranno correttamente in VBA e hanno anche dei limiti. Per ovviare a questo, abbiamo molte funzioni e comandi e il processo tramite il quale possiamo eseguire il contatore VBA. Il contatore VBA viene utilizzato per contare la cella, contare il contenuto della cella e utilizzato anche come timer per il conto alla rovescia quando è possibile implementare la scheda attività per misurare qualsiasi attività.

Con l'aiuto del contatore VBA, possiamo contare anche le celle con i loro indici di colore. Questo indice di colore può anche colorare il carattere o il colore di sfondo delle celle e valori in grassetto.

Come creare un contatore in Excel VBA?

Di seguito sono riportati i diversi esempi per creare un contatore in Excel utilizzando il codice VBA.

Puoi scaricare questo modello di contatore Excel VBA qui - Modello di contatore Excel VBA

Contatore VBA - Esempio n. 1

Abbiamo alcuni dati numerici casuali nella colonna A. Tutti i valori menzionati sono casuali e non hanno connessioni come in sequenza o in serie. Ora con l'aiuto del processo Contatore VBA, conteremo i numeri di valore più alti e più bassi e otterremo l'output nelle celle D2 e ​​D3.

Conteremo il numero e lo coloreremo simultaneamente secondo il testo a colori nelle celle C2 e C3.

Per questo, seguire i passaggi seguenti:

Passaggio 1: creare un pulsante di comando che è disponibile nella scheda Sviluppatore nel controllo Active X del menu Inserisci come mostrato di seguito.

Passaggio 2: ora crea un pulsante come mostrato di seguito.

Passaggio 3: fare clic con il tasto destro sul pulsante creato e selezionare l'opzione Proprietà .

Passaggio 4: modificare la didascalia del pulsante predefinito come CommandButton2 con qualsiasi nome desiderato. Qui, l'abbiamo modificato in " Conteggio delle celle in base al valore ".

Passaggio 5: Al termine, fare clic con il pulsante destro del mouse sul pulsante creato e selezionare l'opzione Visualizza codice per visualizzare la finestra VBA.

Visual Basic Editor è ora aperto e, per impostazione predefinita, è già stata creata una subroutine per il pulsante di comando.

Codice:

 Private Sub CommandButton2_Click () End Sub 

Passaggio 6: ora dobbiamo dichiarare 3 variabili. Dichiara la prima variabile in cui memorizzeremo i numeri e la seconda variabile con la quale utilizzeremo il contatore come numeri interi come mostrato di seguito. E la terza variabile sarà lunga per contare i numeri memorizzati in ogni riga.

Codice:

 Private Sub CommandButton2_Click () Dim A come numero intero Dim Dim come numero intero Dim LRow come sottotitolo lungo 

Step 7: Ora selezioneremo la prima cella del foglio che è A1 come nostra gamma. Da qui selezioneremo le celle finché non avrà i numeri.

Codice:

 Private Sub CommandButton2_Click () Dim A come numero intero Dim Dim come numero intero Dim LRow come lungo LRow = Range ("A1"). CurrentRegion.End (xlDown) .Row End Sub 

Passaggio 8: Ora apriremo e scriveremo la condizione in For loop per, se la cella ha un valore maggiore di 10, il colore del carattere della cella verrà modificato in Giallo e per il valore inferiore a 10, il colore del carattere della cella verrà modificato in Blu con gli indici di colore 44 e 55 rispettivamente.

Codice:

 Private Sub CommandButton2_Click () Dim A come numero intero Dim Dim come numero intero Dim LRow come Long LRow = Range ("A1"). CurrentRegion.End (xlDown) .Row For A = 1 To LRow If Cells (A, 1) .Value> 10 Quindi Count = Count + 1 Cells (A, 1) .Font.ColorIndex = 44 Else Cells (A, 1) .Font.ColorIndex = 55 End If Next A End Sub 

Passo 9: Ora per vedere l'output dei valori dalla cella A1 fino alla fine, selezioneremo le celle come discusso sopra dal codice seguente.

Codice:

 Private Sub CommandButton2_Click () Dim A come numero intero Dim Dim come numero intero Dim LRow come Long LRow = Range ("A1"). CurrentRegion.End (xlDown) .Row For A = 1 To LRow If Cells (A, 1) .Value> 10 Quindi Count = Count + 1 Cells (A, 1) .Font.ColorIndex = 44 Else Cells (A, 1) .Font.ColorIndex = 55 End If Next A Cells (2, 4) .Value = Count Cells (3, 4) .Value = 12 - Count End Sub 

Passaggio 10: eseguire ora il codice premendo il pulsante.

Vedremo, le celle contenenti i numeri inferiori a 10 sono evidenziate in blu. E quello maggiore di 10 è evidenziato in giallo.

Contatore VBA - Esempio n. 2

In questo esempio, utilizzeremo VBA Counter per misurare il tempo entro il quale possiamo misurare il take che facciamo. Supponiamo, se dobbiamo misurare il tempo necessario per completare qualsiasi attività, allora il processo che vedremo qui è il migliore da implementare.

Per questo, seguire i passaggi seguenti:

Passaggio 1: crea le 2 schede di qualsiasi forma dal menu Inserisci Opzioni forme come mostrato di seguito. Stiamo selezionando Rectangle: Rounder Corners .

Passaggio 2: creare 2 pulsanti e denominarli come Start e Reset mediante i quali avvieremo il timer e azzereremo l'ora.

Passaggio 3: ora vai su VBA e apri un modulo dal menu Inserisci.

Passo 4: In questo scrivi la sottocategoria di Start timer come mostrato di seguito.

Codice:

 Inizio parziale () Fine Sottotitolo 

Passaggio 5: considerare una parola per la riga successiva come NextRow in cui selezioneremo il foglio di lavoro in cui vogliamo implementare il codice. Qui, il nostro foglio è Sheet2 . E qui contiamo le righe da +1 cella che è la cella A2 fino a quando non abbiamo il valore del file cursore.

Codice:

 Sub Start () NextRow = ThisWorkbook.Sheets ("Sheet2"). Cells (Rows.Count, 1) .End (xlUp) .Row + 1 End Sub 

Passaggio 6: ora per passare alla riga successiva utilizzeremo il formato vertice in cui 1 tra parentesi è per l'asse Y.

Codice:

 Sub Start () NextRow = ThisWorkbook.Sheets ("Sheet2"). Cells (Rows.Count, 1) .End (xlUp) .Row + 1 Cells (NextRow, 1) = Time End Sub 

Passaggio 7: scrivere il codice per il ripristino sotto lo stesso codice iniziale.

Codice:

 Sub reset () End Sub 

Passaggio 8: Ora per il ripristino, manterremo lo stesso codice di Start, ma la parola chiave verrà modificata in LastRow e rimuoverà +1 solo in modo da non dover passare in un'altra riga.

Codice:

 Sub Reset () lastrow = ThisWorkbook.Sheets ("Sheet2"). Cells (Rows.Count, 1) .End (xlUp) .Row End Sub 

Passaggio 9: Ora per cancellare i dati nell'ultima cella della colonna A nella prima cella, selezionare innanzitutto l'intervallo di celle con la funzione ClearContents .

Codice:

 Sub Reset () lastrow = ThisWorkbook.Sheets ("Sheet2"). Cells (Rows.Count, 1) .End (xlUp) .Row Range ("A2: A" & lastrow) .ClearContents End Sub 

Ora chiudi la finestra VBA.

Passaggio 10: fare clic con il pulsante destro del mouse sulla scheda Start e selezionare l'opzione Assegna macro .

Passaggio 11: selezionare la codifica secondaria Start che abbiamo fatto sopra.

Passaggio 12: fare lo stesso anche per il pulsante Reimposta. Assegnare il sottocodice Ripristina al pulsante Ripristina e fare clic su OK ed uscire dalla modalità di progettazione per eseguire il codice.

Step 13: Ora fai prima clic sul pulsante Start . Otterremo l'ora di inizio come 3:51:33.

Passo 14: Ora fai di nuovo clic sul pulsante Start 2-3 volte per ottenere più time-lapse. Vedremo, c'è un intervallo di pochi secondi in ogni iterazione.

Passo 15: Ora dopo, testeremo il pulsante Ripristina . Fai clic su Ripristina. Vedremo, i dati sono ora cancellati e pronti per un altro giro di conteggio dei tempi.

Pro di Excel VBA Counter

  • È molto semplice implementare il contatore dei tempi, come abbiamo visto nell'esempio 2.
  • VBA Counter ha molti tipi di implementazione, questo non è solo limitato agli esempi che abbiamo visto.

Cose da ricordare

  • È sempre meglio assegnare il codice per qualsiasi pulsante quando abbiamo eseguito 2 o più tipi di codice in un processo.
  • Esci dalla modalità progettazione una volta che l'assegnazione del codice e l'esecuzione sono state eseguite dalla scheda Sviluppatore.
  • Possiamo anche creare un contatore del tempo reale in cui possiamo vedere il conto alla rovescia del tempo o guardare il tempo in tempo reale.
  • Salvare la macro in Macro abilitare il formato di file Excel in modo da non perdere il nostro codice.

Articoli consigliati

Questa è una guida al contatore VBA. Qui discutiamo come creare un contatore VBA in Excel usando il codice VBA insieme ad esempi pratici e template Excel scaricabili. Puoi anche leggere il seguente articolo per saperne di più -

  1. Uso dell'errore di overflow del VBA in Excel
  2. Esempi di errore VBA 1004
  3. Come usare VBA DoEvents?
  4. Metodi per nascondere le colonne in VBA

Categoria: