Tabla de contenido
En este tutorial, veremos cómo utilizar VBA para recorrer filas de un rango en Excel. Utilizamos bucles para evitar hacer lo mismo una y otra vez. Mientras trabajamos en Microsoft Excel podemos encontrarnos en una situación en la que debamos realizar la misma tarea numerosas veces. Podemos hacerlo fácilmente utilizando bucles en VBA En este artículo demostraremos 6 ejemplos para recorrer filas en excel con VBA El bucle que utilizaremos a lo largo de los ejemplos es el ' Bucle For-Next '.
Descargar el cuaderno de prácticas
Podemos descargar el cuaderno de prácticas desde aquí.
VBA Bucle a través de filas en Range.xlsm6 Ejemplos de bucle a través de filas en el rango con VBA en Excel
Para ilustrar los ejemplos de este tutorial, utilizaremos el siguiente conjunto de datos. El conjunto de datos contiene los importes de las ventas de los dos primeros meses de 5 Vendedores .
1. Utilizar VBA en Rango con Variable de Rango para Recorrer Filas
En el primer ejemplo, utilizaremos la variable range para recorrer las filas del rango utilizando VBA en excel. Aplicaremos un VBA en el siguiente conjunto de datos.
Veamos los pasos para realizar este ejemplo.
PASOS:
- Para empezar, vaya a la hoja de cálculo activa ' Gama Variable '.
- Además, haga clic con el botón derecho del ratón en y seleccione la opción ' Ver Código También puede pulsar Alt + F11 para abrirlo.
- La acción anterior abre una ventana de código para esa hoja de cálculo.
- Además, escriba el código en la ventana de código:
Sub VBA_Loop_through_Rows() Dim w As Range For Each w In Range("B5:D9").Rows w.Cells(1).Interior.ColorIndex = 35 Next End Sub
- A continuación, haga clic en el botón Ejecutar o pulse F5 para ejecutar el código.
- Finalmente, obtendremos resultados como la siguiente captura de pantalla.
Read More: Excel VBA: Bucle a través de Columnas en Rango (5 Ejemplos)
2. Aplicar VBA para Recorrer Filas en un Rango con Variable Numérica
Otra opción para recorrer las filas de un rango es seleccionar la variable. En el segundo ejemplo, aplicaremos VBA en el siguiente conjunto de datos para recorrer las filas de un rango con variables numéricas.
Veamos los pasos para realizar este método.
PASOS:
- Primero, haga clic con el botón derecho del ratón en en la hoja activa llamada ' Valor numérico '.
- A continuación, seleccione la opción ' Ver Código '.
- Esta acción abrirá una ventana de código para esa hoja de cálculo. También puede pulsar Alt + F11 para abrir esa ventana de código.
- escriba el siguiente código en esa ventana:
Sub VBA_Numeric_Variable() Dim w As Integer With Range("B5").CurrentRegion For w = 1 To .Columns.Count .Columns(w).NumberFormat = "$0.00" Next End With End Sub
- A continuación, haga clic en Ejecutar o pulse la tecla F5 para ejecutar el código.
- Finalmente, podemos ver resultados como la siguiente imagen. El código anterior cambia el formato del número en decimales.
Read More: VBA para recorrer filas y columnas de un rango en Excel (5 ejemplos)
3. Excel VBA en Rango Seleccionado por el Usuario para Recorrer Filas en Rango
En el tercer ejemplo, utilizaremos VBA en un rango seleccionado por el usuario para realizar un bucle a través de las filas de un rango. Así, el usuario podrá aplicar un bucle en un área seleccionada del conjunto de datos.
Veamos los pasos asociados a este ejemplo.
PASOS:
- Al principio, seleccione el rango de celdas ( D5:D9 ).
- Siguiente, haga clic con el botón derecho del ratón en en la hoja activa llamada ' Usuario seleccionado Seleccione la opción Ver Código '.
- El comando anterior abrirá un VBA de la hoja de cálculo activa. También puede abrir esa ventana de código pulsando Alt + F11 Inserta el siguiente código en esa ventana de código en blanco:
Sub VBA_User_Selection() Dim w As Variant Set xRange = Selection For Each w In xRange MsgBox "Cell value = " & w.Value Next w End Sub
- A continuación, para ejecutar el código de esa hoja de cálculo, haga clic en el botón Ejecutar o pulse la tecla F5 llave.
- Entonces, aparece un cuadro de mensaje que muestra el primer valor del rango seleccionado.
- Además, si hace clic en OK devolverá el segundo valor del rango seleccionado que es la celda D6 .
- Este proceso continuará hasta el último valor del rango seleccionado que es la celda D9 .
Más información: Cómo Usar VBA para Contar Filas en un Rango con Datos en Excel (5 Macros)
Lecturas similares
- Cómo utilizar VBA para seleccionar el rango de la celda activa en Excel (3 métodos)
- Macro Excel: Ordenar Varias Columnas con Rango Dinámico (4 Métodos)
- Cómo convertir rango a matriz en Excel VBA (3 maneras)
4. Recorrer filas en rango dinámico con VBA
En el cuarto ejemplo, aplicaremos VBA para recorrer en bucle las filas del rango dinámico. Este ejemplo es ligeramente diferente de los anteriores. Podremos personalizar el rango en el bucle para la hoja de cálculo Excel. Utilizaremos el siguiente conjunto de datos para ilustrar este método. En el siguiente conjunto de datos, rellenaremos los valores del rango ( B8:C12 ) con un valor específico.
Sólo tienes que ir a través de los siguientes pasos para llevar a cabo este método.
PASOS:
- En primer lugar, el valor de entrada 6 en celda B1 y C en celda B2 .
- En segundo lugar, haga clic con el botón derecho del ratón en en la celda activa y seleccione la opción ' Ver Código '.
- Este comando abrirá un VBA de la hoja de cálculo activa. Otra forma de abrir esa ventana de código es pulsando Alt + F11 .
- En tercer lugar inserte el siguiente código en esa ventana de código:
Sub Rango_Dinámico() Dim xRango As String xRango = "B8:" + Worksheets("Rango_Dinámico").Cells(2, 2).Value + _ CStr(3 + Worksheets("Rango_Dinámico").Cells(1, 2).Value) For Each Row In Range(xRango) For Each Cell In Row Cell.Value = "$2500.00" Next Cell Next Row End Sub
- Ahora, para ejecutar el código haga clic en el botón Ejecutar o pulse la tecla F5 llave.
- Como resultado, el conjunto de datos se rellena con el valor $2500.00 de la siguiente manera.
NOTA:
En la imagen anterior, el valor 6 representa las dos primeras filas del intervalo ( B8:B9 ).
- Por último, introduzca el valor 9 en celda B1 en lugar de 6 Podemos ver los resultados en la siguiente imagen.
5. Insertar VBA para recorrer toda la fila del rango
En el quinto ejemplo, veremos cómo podemos aplicar VBA para recorrer toda la fila del rango. Este ejemplo encontrará la posición de un valor específico de una o varias filas seleccionadas.
Veamos pues los pasos que seguiremos para ejecutar este ejemplo.
PASOS:
- Para empezar, haga clic con el botón derecho del ratón en en la hoja activa llamada ' Fila completa Seleccione la opción Ver Código '.
- El comando anterior abre un espacio en blanco VBA de la hoja de cálculo activa. También podemos obtener esta ventana de código pulsando Alt + F11 .
- A continuación, inserta el siguiente código en esa ventana de código:
Sub VBA_Loop_Entire_Row() Dim w As Range For Each w In Range("5:9") If w.Value = "Chris" Then MsgBox "Chris found at " & w.Address End If Next w End Sub
- A continuación, haga clic en el botón Ejecutar o pulse la tecla F5 para ejecutar el código.
- En la imagen anterior, el valor resaltado ' Chris ' indica el valor que vamos a buscar. Valor de rango ' 5:9 ' indica que buscaremos el valor en el rango de celdas ( B5:B9 ).
- Por último, un cuadro de mensaje muestra que el valor ' Chris se encuentra en la celda B6 .
Read More: Cómo utilizar VBA para cada fila de un rango en Excel
6. Bucle a través de cada fila n-ésima en el rango con Excel VBA
En el último ejemplo, aplicaremos VBA para recorrer en bucle cada n-ésima Fila en el rango. En el siguiente conjunto de datos, aplicaremos un sombreado de color a las filas impares de nuestro rango de datos.
Veamos los pasos para realizar este método.
PASOS:
- Primero, haga clic con el botón derecho del ratón en en la hoja activa llamada ' Fila n Seleccione la opción Ver Código '.
- A continuación, abre un espacio en blanco VBA También podemos obtener esta ventana de código pulsando Alt + F11 .
- A continuación, escriba el siguiente código en esa ventana de código:
Sub ShadeRows1() Dim r As Long With Range("B5").CurrentRegion For r = 1 To .Rows.Count If r / 2 = Int(r / 2) Then 'filas pares .Rows(r).Interior.ColorIndex = 43 End If Next End With End Sub
- Ahora, haga clic en el botón Ejecutar o pulse la tecla F5 para ejecutar el código.
- Por último, podemos ver que el código anterior sólo sombrea las filas impares de nuestro conjunto de datos.
Read More: Excel VBA para recorrer el rango hasta la celda vacía (4 Ejemplos)
Conclusión
En conclusión, este tutorial le ofrece 6 ejemplos de bucle a través de filas en rango con VBA Descárgate la hoja de práctica que encontrarás en este artículo para poner a prueba tus conocimientos. Si tienes alguna duda, déjanos un comentario en la casilla de abajo. Nuestro equipo intentará responder a tu mensaje lo antes posible. Sigue atento a más inventivas Microsoft Excel soluciones en el futuro.