Selección de Celdas en VBA
- Seleccione una sola celda en VBA
- Seleccione un rango de celdas en VBA
- Seleccione un rango de celdas no contiguas en VBA
- Seleccione todas las celdas en una hoja de trabajo en VBA
- Seleccione una fila en VBA
- Seleccione una columna en VBA
- Seleccione la última celda no vacía en una columna en VBA
- Seleccione la última celda no vacía en una fila en VBA
- Seleccione la región actual en VBA
- Seleccione la celda relativa a otra celda en VBA
- Seleccione un rango con nombre en VBA
- Seleccione la celda en otra hoja de trabajo en VBA
-
Manipular el objeto
Selection
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.
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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: