VBA per ogni cella dell'intervallo in Excel (3 metodi)

  • Condividi Questo
Hugh West

Nei database di grandi dimensioni, si passa la maggior parte del tempo a gestire intervalli e celle. A volte è necessario ripetere la stessa azione in intervalli di grandi dimensioni o in un numero elevato di celle, il che fa perdere tempo e riduce l'efficienza. La soluzione intelligente a questo problema consiste nel costruire un'applicazione di Codice di programmazione VBA che si svolgerà attraverso ogni cella dell'intervallo ed eseguirà la stessa azione da voi indicata. Oggi in questo articolo parleremo di come eseguire VBA per ogni cella dell'intervallo in Excel.

Scarica il quaderno di esercizi

Scaricate questo libro di esercizi per esercitarvi mentre leggete questo articolo.

Codice VBA per ogni cella di un intervallo in Excel.xlsx

3 modi appropriati per applicare il VBA a ciascuna cella dell'intervallo in Excel

Utilizzando un codice VBA è possibile eseguire la stessa formula per ogni cella di un intervallo, di una colonna o di una riga. In questa sezione esamineremo tutte le sezioni.

1. Applicare VBA per ogni cella dell'intervallo

Si consideri una situazione in cui si debba applicare lo stesso codice VBA per ogni cella di un determinato intervallo ( B3:F12 ). Per fare ciò, costruiremo un codice VBA, le cui istruzioni sono riportate di seguito.

Fase 1:

  • Per prima cosa, inseriamo un pulsante di comando per semplificare il nostro lavoro. Andare nel file Scheda sviluppatore , selezionare Inserire e fare clic sul pulsante di comando per ottenerne uno.

  • Abbiamo il nostro pulsante di comando.

  • Fare clic con il tasto destro del mouse sul pulsante di comando per aprire le opzioni. Selezionare e fare clic su Proprietà per modificare alcune opzioni.

  • Modificate la didascalia del pulsante di comando. Qui cambiamo il nome in " Clicca qui ".

Fase 2:

  • Ora fate doppio clic sul pulsante di comando per aprire la finestra VBA Modulo Qui scriveremo il nostro codice VBA per l'operazione.

  • Per prima cosa, dichiariamo due variabili. Chiamiamo gli oggetti range CL e Rng Potete chiamarli come volete.
 Dim CL come intervallo Dim Rng come intervallo 

  • Assegnare un intervallo specifico con questo comando,

Set Rng = Worksheets("VBA1").Range("B3:F12")

  • Qui VBA1 è il nome del nostro foglio di lavoro e B3:F12 è il nostro intervallo definito.

  • Ora utilizzeremo il codice per scorrere ogni cella dell'intervallo. Il codice è,
 Per ogni CL in Rng CL.Value = 100 CL successivo 
  • Valore = 100 si riferisce al fatto che restituirà 100 per ogni cella dell'intervallo dato.

  • Quindi il nostro codice finale diventa,
 Private Sub CommandButton1_Click () Dim CL As Range Dim Rng As Range Set Rng = Worksheets("VBA1").Range("B3:F12") For Each CL In Rng CL.Value = 100 Next CL End Sub 
  • Passate al foglio di lavoro principale e fate clic sul pulsante di comando per eseguire VBA per ogni cella dell'intervallo.

Fase 3:

  • Come per i valori numerici, possiamo anche inserire dei valori di testo per ogni cella dell'intervallo. In questo caso, andiamo nella finestra VBA e, al posto di 100, inseriamo il valore di testo che vogliamo far scorrere. La riga cambiata è
 CL.Value = "ExcelWIKI" 

  • Facendo clic sul pulsante di comando, il codice VBA restituirà questo valore di testo per ogni cella dell'intervallo.

Passo 4:

  • In questo passaggio, si scava un po' più a fondo. Supponiamo di voler evidenziare ogni cella vuota del nostro intervallo.

  • A tal fine, aggiungere una nuova condizione al codice esistente. La nuova formula è,
 Se CL.Value = " " Allora CL.Interior.ColorIndex = 3 Fine Se 
  • Questo nuovo codice evidenzierà la cella vuota con il colore rosso. Quindi il codice completo è,
 Private Sub CommandButton1_Click () Dim CL As Range Dim Rng As Range Set Rng = Worksheets("VBA1").Range("B3:F12") For Each CL In Rng If CL.Value = " " Then CL.Interior.ColorIndex = 3 End If Next CL End Sub 

  • Ottenere il risultato facendo clic sul pulsante di comando.

Letture simili:

  • Come utilizzare l'oggetto Range di VBA in Excel (5 proprietà)
  • Utilizzare l'offset dell'intervallo in VBA (11 modi)
  • Come contare il testo in Excel (7 semplici trucchi)

2. Inserire il codice VBA per ogni cella di una colonna di un intervallo

Possiamo eseguire il codice VBA anche per ogni cella di una colonna. Supponiamo di avere una colonna contenente numeri e di dover colorare i valori inferiori a 10. Costruiremo un codice VBA per eseguire ogni cella della colonna.

Fase 1:

  • Creare un pulsante di comando seguendo le istruzioni che abbiamo discusso.

Fase 2:

  • Fare doppio clic sul pulsante di comando per aprire la finestra VBA.
  • Dichiareremo una variabile chiamata " c "Utilizziamo la variabile di tipo Long perché le variabili Long hanno una capacità maggiore rispetto alle variabili Integer.
 Dim c Come lungo 

  • Quindi, aggiungete la riga di codice che cambia il colore del carattere di tutte le celle della colonna in nero.
 Columns(1).Font.Color = vbBlack 

  • Inserire il ciclo per questo codice.
 Per c = 1 a Rows.Count Successivo c 

  • In questo passaggio, inseriamo una condizione per colorare i valori inferiori al valore della cella C4 (10). Inserite questo codice per farlo.
 Se Cells(c, 1).Value <Range("C4").Value e non IsEmpty(Cells(c, 1).Value) Allora Cells(c, 1).Font.Color = vbRed Fine If 

  • Quindi il codice finale è,
 Private Sub CommandButton1_Click () Dim c As Long Columns(1).Font.Color = vbBlack For c = 1 To Rows.Count If Cells(c, 1).Value <Range("C4").Value And Not IsEmpty(Cells(c, 1).Value) Then Cells(c, 1).Font.Color = vbRed End If Next c End Sub 
  • Il VBA verrà eseguito e mostrerà i risultati quando si fa clic sul pulsante di comando.

3. Scrivere un codice VBA per ogni cella di una riga di un intervallo

È possibile eseguire un codice VBA anche per ogni cella di una riga. Nella riga data, dobbiamo eseguire la stessa azione su ogni cella della riga.

Fase 1:

  • Aggiungete un pulsante di comando e cambiate il suo nome in " Clicca qui! "

  • Fare doppio clic sul pulsante per aprire la finestra VBA. Scrivere il codice VBA fornito di seguito.
 Private Sub CommandButton1_Click () Dim r As Range Dim MyString As String 'Per ogni cella di una riga, applicare un riempimento di colore giallo For Each r In Range("B3:F3").Rows r.Interior.ColorIndex = 6 Next End Sub 
  • Il codice scorre ogni cella della riga e applica un riempimento di colore giallo a ogni cella.

  • Cliccate sul pulsante e il nostro risultato è qui.

Note rapide

👉 Se la scheda sviluppatore non è visibile, è possibile attivarla utilizzando questa istruzione.

Barra degli strumenti di accesso rapido personalizzata → Altri comandi → Personalizza barra multifunzione → Sviluppatore → OK

Conclusione

Abbiamo analizzato tre diversi approcci per eseguire VBA per ogni cella di un intervallo. Se avete domande o dubbi, siete invitati a commentare. Potete anche consultare gli altri articoli relativi alle attività di Excel!

Hugh West è un istruttore e analista di Excel di grande esperienza con oltre 10 anni di esperienza nel settore. Ha conseguito una laurea in Contabilità e Finanza e un Master in Economia Aziendale. Hugh ha una passione per l'insegnamento e ha sviluppato un approccio didattico unico che è facile da seguire e capire. La sua conoscenza approfondita di Excel ha aiutato migliaia di studenti e professionisti in tutto il mondo a migliorare le proprie competenze ed eccellere nella propria carriera. Attraverso il suo blog, Hugh condivide le sue conoscenze con il mondo, offrendo esercitazioni gratuite su Excel e formazione online per aiutare le persone e le aziende a raggiungere il loro pieno potenziale.