Come navigare in un intervallo utilizzando vba?
Per scorrere un intervallo in VBA, è necessario utilizzare l’opzione “For Each Loop”. Usando questo ciclo, puoi scrivere codice in cui dici a VBA di passare attraverso ogni cella nell’intervallo, colonna o riga ed eseguire un’attività specifica.
Sub vba_loop_range() Dim iCell As Range For Each iCell In Range("A1:A10").Cells iCell.Value = "Yes" Next iCell End Sub
Ecco i passaggi per passeggiare in spiaggia:
- Innanzitutto, dichiara una variabile da utilizzare come cella dell’intervallo su cui eseguire il loop.
- Successivamente, avvia il ciclo “For Each” e utilizza la variabile “iCell” per rappresentare ciascuna cella nell’intervallo durante il ciclo.
- Successivamente, devi scrivere una riga di codice per eseguire un’attività su ciascuna cella in cui eseguiamo il loop dell’intervallo.
- Alla fine, termina il codice per un loop.
Ripeti l’intera colonna e una riga utilizzando VBA
Allo stesso modo, puoi scorrere ogni cella di seguito utilizzando il codice seguente che è identico al codice utilizzato nell’esempio precedente, l’unica differenza è l’intervallo che abbiamo specificato.
Nota: prima di esaminare un’intera colonna o riga, dovresti comprendere che il ciclo potrebbe richiedere del tempo e Excel potrebbe bloccarsi per alcuni minuti.
Sub vba_loop_range() Dim iCell As Range For Each iCell In Range("A:A").Cells iCell.Value = "Yes" Next iCell End Sub
E allo stesso modo, puoi usare una linea intera come intervallo da percorrere.
Sub vba_loop_range() Dim iCell As Range For Each iCell In Range("1:1").Cells iCell.Value = "Yes" Next iCell End Sub
Passa attraverso la gamma dinamica
E se vuoi scorrere un intervallo dinamico di celle, fai riferimento al seguente codice.
Sub vba_dynamic_loop_range() Dim iCell As Range Dim iRange1 As String Dim iRange2 As String Dim rangeName As String iRange1 = ActiveCell.Address iRange2 = ActiveCell.Offset(5, 5).Address rangeName = iRange1 & ":" & iRange2 For Each iCell In Range(rangeName).Cells iCell = "Yes" Next iCell End Sub