¿cómo navegar por un rango usando vba?
Para recorrer un rango en VBA, debe usar la opción «Para cada bucle». Con este bucle, puede escribir código en el que le indique a VBA que revise cada celda del rango, columna o fila y realice una actividad específica.
Sub vba_loop_range() Dim iCell As Range For Each iCell In Range("A1:A10").Cells iCell.Value = "Yes" Next iCell End Sub
Estos son los pasos para caminar por una playa:
- Primero, declare una variable para usar como celda del rango para recorrer.
- Después de eso, inicie el ciclo «Para cada» y use la variable «iCell» para representar cada celda en el rango durante el ciclo.
- A continuación, debe escribir una línea de código para realizar una actividad en cada celda en la que recorremos el rango.
- Al final, finalice el código para un bucle.
Recorra toda la columna y una fila usando VBA
De la misma manera, puedes iterar a través de cada celda en una fila usando el siguiente código que es idéntico al código que usamos en el ejemplo anterior, la única diferencia es el rango que especificamos.
Nota: Antes de revisar una columna o fila completa, debe comprender que el ciclo puede tardar algún tiempo y su Excel puede congelarse durante unos minutos.
Sub vba_loop_range() Dim iCell As Range For Each iCell In Range("A:A").Cells iCell.Value = "Yes" Next iCell End Sub
Y de la misma manera, puedes usar una línea completa como rango a recorrer.
Sub vba_loop_range() Dim iCell As Range For Each iCell In Range("1:1").Cells iCell.Value = "Yes" Next iCell End Sub
Recorrer el rango dinámico
Y si desea iterar sobre un rango dinámico de celdas, consulte el siguiente código.
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