Excel: Recorrer columnas

Si queremos hacer una macro que recorra una tabla por filas y por columnas, habrá dos ciclos; uno para recorrer las filas y otro para recorrer las columnas. Pero, ¿cómo hacemos para indicar la columna con una variable que debe tomar sucesivamente los valores A, B, C, etc.? Aquí veremos los pasos a seguir.
LUN, 20 / MAY / 2013

La forma más cómoda para identificar una celda en una macro, cuando tanto la fila como la columna son variables, es con la ayuda de la instrucción Cells. Esta instrucción tiene dos argumentos: la fila y la columna de la celda. Por ejemplo, la instrucción Cells(3, 4) se refiere a la celda [D3] porque la D es la cuarta letra del alfabeto. La siguiente macro, por ejemplo, recorre el rango [A1:D10] reemplazando cada valor por su cuadrado:

Sub Cuadrados()

For i = 1 To 10

For j = 1 To 4

Cells(i, j) = Cells(i, j) * Cells(i, j)

Next

Next

End Sub

La columna puede identificarse también con el número de orden de la letra: la celda [D3] se puede expresar también con Cells(3, “D”).

Comentarios
¡Comparte esta noticia!

Últimos lanzamientos Ver más

11 Comments

  1. Rodrigo Damian Orlando dice:

    Son distintos For Each se usa con colecciones, y cuando necesitas recorrer toda la colección sin discriminar demasiado, entonces es mucho más rápido y efectivo, para pocos valores es casi lo mismo, pero si es una buena practica usarlo cuando lo amerite y necesites recorrer una colección completa.

  2. Rodrigo Damian Orlando dice:

    Si muchas veces es mejor, pero siempre y cuando necesites recorrer todo el conjunto de datos y no tengas que saber siempre su ubicacion exacta, depende el caso, conviene uno u otro. El tema también que para principiantes les es más complicado manejarlo a la perfección también.

  3. Rodrigo Damian Orlando dice:

    También para mejor lectura y comodidad, conviene poner el valor de la celda en una variable, además que seria más rápido creo. Obvio que acá es prácticamente lo mismo porque solo en un ejemplo sencillo, pero es buena practica creo.

  4. Rodrigo Damian Orlando dice:

    y mejor seria poner la funcion así Cells(i, j) = Cells(i, j) ^2

  5. chaval dice:

    Mejor seria GenerarTablaConNumsCuadrados()

  6. Claudio Horacio Sánchez dice:

    O también RecorreUnaTablaGenerandoNumerosCuadrados().

  7. chaval dice:

    Entonces seria GenerarNumerosCuadrados() ….

  8. Claudio Horacio Sánchez dice:

    La llamé Cuadrados porque genera una tabla de números cuadrados.

  9. otro dice:

    Yo prefiero For Each

  10. chaval dice:

    Mal nombrada la funcion ,….. el nombre tiene que ser un verbo mas sustantivo … seria RecorrerCuadrados()

  11. chaval dice:

    Mal nombrada la funcion ,….. el nombre tiene que ser un verbo mas sustantivo … seria RecorrerCuadrados()

Leave a Reply