Selección de Celdas en VBA

Iqra Hasnain 15 febrero 2024
  1. Seleccione una sola celda en VBA
  2. Seleccione un rango de celdas en VBA
  3. Seleccione un rango de celdas no contiguas en VBA
  4. Seleccione todas las celdas en una hoja de trabajo en VBA
  5. Seleccione una fila en VBA
  6. Seleccione una columna en VBA
  7. Seleccione la última celda no vacía en una columna en VBA
  8. Seleccione la última celda no vacía en una fila en VBA
  9. Seleccione la región actual en VBA
  10. Seleccione la celda relativa a otra celda en VBA
  11. Seleccione un rango con nombre en VBA
  12. Seleccione la celda en otra hoja de trabajo en VBA
  13. Manipular el objeto Selection en VBA
Selección de Celdas en VBA

En el siguiente artículo, analizamos la selección de celdas en VBA y cómo podemos seleccionar el rango de celdas en VBA.

VBA nos permite seleccionar una celda, rangos de celdas o todas las celdas de la hoja de cálculo. Puede manipular la celda o el contenido seleccionado utilizando el objeto Selection.

Seleccione una sola celda en VBA

Podemos elegir una celda en una hoja de trabajo utilizando el método Select. El siguiente código seleccionará la celda B2 en ActiveWorksheet.

# VBA
Range("B2").Select

O podemos usar otro método como se muestra a continuación.

# vba
Cells(2, 2).Select

La salida de ambos códigos se muestra a continuación.

seleccionando una sola celda en VBA

Seleccione un rango de celdas en VBA

Podemos seleccionar un grupo de celdas en una hoja de trabajo utilizando la técnica Select y el objeto Range. El siguiente código seleccionará A1:B5 como se muestra a continuación.

# VBA
Range("A1:B5").Select

Producción:

seleccionando un rango de celdas en VBA

Seleccione un rango de celdas no contiguas en VBA

En VBA, puede elegir celdas o rangos que no estén uno al lado del otro dividiendo las celdas o rangos con una coma. El siguiente código le permitirá seleccionar las celdas B1, D1 y F1, como se muestra a continuación.

# VBA
Range("B1, D1, F1").Select

Producción:

seleccionar un rango de celdas no contiguas en VBA

También podemos seleccionar conjuntos de rangos no contiguos usando VBA. El siguiente código seleccionará A1:A5 y B5:B8, como se muestra a continuación.

# VBA
Range("A1:A5, B5:B8").Select

Producción:

seleccionando un rango no contiguo de celdas parte 2 en VBA

Seleccione todas las celdas en una hoja de trabajo en VBA

Podemos seleccionar todas las celdas en una hoja de trabajo con la ayuda de VBA. El siguiente código seleccionará todas las celdas en una hoja de trabajo.

# VBA
Cells.Select

Producción:

seleccionando todas las celdas usando la hoja de trabajo en VBA

Seleccione una fila en VBA

Podemos seleccionar una fila específica en una hoja de cálculo con la ayuda del objeto Row y el número de índice de la fila que queremos seleccionar. El siguiente código seleccionará la primera fila en nuestra hoja de trabajo.

# VBA
Rows(2).Select

Producción:

seleccionando una fila en VBA

Seleccione una columna en VBA

Podemos seleccionar una columna específica en una hoja de trabajo con la ayuda del objeto Column y el número de índice de la columna que queremos seleccionar. El siguiente código seleccionará la columna B en nuestra hoja de trabajo a continuación.

# VBA
Columns(2).Select

Producción:

seleccionando una columna en VBA

Seleccione la última celda no vacía en una columna en VBA

Tenemos datos en las celdas B1, B2, B3 y B4, y queremos seleccionar la última celda no vacía, que podría ser la celda B4 de la columna. Para ello podemos utilizar VBA y el método Range.End.

El método Range.End puede tomar estas cuatro opciones: xlToLeft, xlToRight, xlUp y xlDown.

El siguiente código seleccionará la última celda que no esté en blanco, B4 en este caso, si B1 es la celda activa, como se muestra a continuación.

# VBA
Range("B1").End(xlDown).Select

Producción:

seleccionando la última celda no vacía en una columna en VBA

Seleccione la última celda no vacía en una fila en VBA

Supongamos que tenemos datos en las celdas A2, B2, C2, D2 y E2, y queremos seleccionar la última celda que no esté en blanco, que podría ser la celda E2 de la fila. . Podemos usar VBA y el método Range.End.

El siguiente código seleccionará la última celda que no esté en blanco, E2 en este caso, si A2 es la celda activa, como se muestra a continuación.

# VBA
Range("A2").End(xlToRight).Select

Producción:

seleccionando la última celda no vacía en una fila en VBA

Seleccione la región actual en VBA

Podemos usar la propiedad CurrentRegion del objeto Range para seleccionar un rango rectangular de celdas en blanco y no en blanco alrededor de una celda de entrada determinada. Si tenemos datos en las celdas A2, B2 y C2, el siguiente código seleccionará esta región alrededor de la celda A2:

# VBA
Range("A2").CurrentRegion.Select

Producción:

seleccionando la región actual en VBA

Seleccione la celda relativa a otra celda en VBA

Podemos usar la propiedad Offset para seleccionar una celda relativa a otra celda. El siguiente código nos muestra cómo seleccionar la celda C3, dos filas y dos columnas cerca de la celda A1.

# VBA
Range("A1").Offset(2, 2).Select

Producción:

seleccionando una sola celda usando el desplazamiento en VBA

Seleccione un rango con nombre en VBA

También podemos seleccionar rangos con nombre. Digamos que hemos llamado a las celdas Código B1:B4.

Podemos usar el siguiente código para seleccionar este rango con nombre, como se muestra a continuación.

# VBA
Range("Code").Select

Producción:

seleccionar un rango de celdas con nombre en VBA

Seleccione la celda en otra hoja de trabajo en VBA

Primero necesitamos activar la hoja usando el método Worksheets.Activate para seleccionar una celda en otra hoja de trabajo. El siguiente código le permitirá seleccionar la celda A4 en Hoja2.

# VBA
Worksheets("Sheet2").Activate
Range("A4").Select

Producción:

seleccionando una sola celda de otra hoja en VBA

Manipular el objeto Selection en VBA

Una vez que hemos seleccionado una celda o rango de celdas, podemos referirnos al objeto Selection para manipular estas celdas. El siguiente código eligió las celdas B1:D1 y estableció la fuente de estas celdas en Calibri, el peso de la fuente en Negrita, el estilo de fuente en Cursiva y el color de relleno en Azul.

# VBA
Sub newFunc()

Range("B1:D4").Select
Selection.Font.Name = "Calibri"
Selection.Font.Bold = True
Selection.Font.Italic = True
Selection.Interior.Color = vbBlue

End Sub

Producción:

seleccionando un rango y cambiando el formato en VBA

Utilice la construcción With en VBA

Podemos relacionar el ejemplo anterior usando la sentencia With o End With para referirse sólo una vez al objeto Selection. Esto mantiene la escritura y normalmente hace que su código sea más fácil de leer.

# VBA
Sub newFunc()

Range("B1:D4").Select
With Selection
.Font.Name = "Calibri"
.Font.Bold = True
.Font.Italic = False
.Interior.Color = vbBlue

End With
End Sub

Producción:

seleccionando un rango usando con construcción y cambiando el formato en VBA