Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado
Logo Excel Avanzado

Seleccionar y formatear un rango

| 1 Comment

Seleccionar una celda o rango de celdas es una operación usual que se realiza antes de hacer otras acciones, como establecer un área de impresión, dar formatos, ordenar un conjunto de datos, etc. Para ello, usaremos las propiedades Range o Cells, que nos sirven además para referenciar celdas mientras se programa Excel con VBA, y así indicar sobre qué celdas se debe buscar o realizar algún evento.

Por ejemplo, para definir explícitamente un rango a seleccionar, se puede usar la siguiente macro:

Sub Macro1()

Range (“B2:B10”).Select

End Sub

Después de que el rango de celdas es seleccionado, se puede hacer diferentes acciones como cambiar su formato (color de fuente, tamaño de letra, negrita, subrayado, cursiva, darle formato de número o fecha, etc). A continuación, se mostrará un ejemplo para demostrar cómo definir cada uno de ellos:

formato1

Nota: No es necesario memorizar todas las propiedades de las celdas (los códigos), ya que se puede primero usar el grabador de macros, y cuando comience la grabación, proceder a dar formato a las celdas. Luego, se puede mirar el código generado automáticamente por Excel en VBA.

De la macro anterior, notamos que la palabra “Selection” se repite en todas las sentencias, por lo que se puede hacer más eficiente esta macro si se usa la estructura With…End With, de la siguiente manera:

formato3

Otra manera de seleccionar un rango es usando Cells del objeto Rango, como se hizo en esta última macro. Esta requiere las posiciones fila, columna según: Cells(fila, columna); por ejemplo, a la celda D5, le correspondería Cells(5,4).

Además, notamos que con la macro, se puede dar formato sin necesariamente seleccionar el rango antes, es por ello que se digitó “With Range(Cells(2, 2), Cells(10, 2))”, en lugar de “With Range(Cells(2, 2), Cells(10, 2)).Select”, y esta es una ventaja de automatizar las acciones con las macros, pues además de ahorro de tiempo, es eficiente.

Por: Katherine Yahaira Quintero Garibay

One Comment

  1. excelente código faltaría agregar a mi gusto

    With Selection.Interior
    .Pattern = xlNone
    .TintAndShade = 0
    .PatternTintAndShade = 0
    End With

    en vez de fondo (azul petróleo) por lo de la impresión en papel

    saludos

Deja un comentario

Required fields are marked *.


Excel Avanzado located at , Lima, Perú . Reviewed by usuarios rated: 4.7 / 5