Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En Microsoft Excel, normalmente seleccionamos una o varias celdas y luego realizamos una acción, como darles formato o escribir valores. En Visual Basic no suele ser necesario seleccionar las celdas antes de modificarlas.
Por ejemplo, para escribir una fórmula en la celda D6 usando Visual Basic, no es necesario seleccionar el rango D6. Solo hay que devolver el objeto Range para esa celda y después establecer la propiedad Formula en la fórmula que quiera, como se muestra en el siguiente ejemplo.
Sub EnterFormula()
Worksheets("Sheet1").Range("D6").Formula = "=SUM(D2:D5)"
End Sub
Para consultar más información y ejemplos sobre cómo usar métodos para controlar las celdas sin seleccionarlas, vea Cómo: Hacer referencia a celdas y rangos.
Uso del método Select y la propiedad Selection
El método Select activa las hojas y los objetos de las hojas; la propiedad Selection devuelve un objeto que representa la selección actual de la hoja activa del libro activo. Antes de utilizar la propiedad Selection, debe activar un libro, activar o seleccionar un hoja y, a continuación, seleccionar un rango, u otro objeto, con el método Select.
La grabadora de macros suele crear una macro que usa el método Select y la propiedad Selection. El siguiente procedimiento Sub se creó con la grabadora de macros y muestra cómo funcionan los métodos Select y Selection juntos.
Sub Macro1()
Sheets("Sheet1").Select
Range("A1").Select
ActiveCell.FormulaR1C1 = "Name"
Range("B1").Select
ActiveCell.FormulaR1C1 = "Address"
Range("A1:B1").Select
Selection.Font.Bold = True
End Sub
En el siguiente ejemplo se lleva a cabo la misma tarea sin activar ni seleccionar la hoja de cálculo ni las celdas.
Sub Labels()
With Worksheets("Sheet1")
.Range("A1") = "Name"
.Range("B1") = "Address"
.Range("A1:B1").Font.Bold = True
End With
End Sub
Seleccionar celdas en la hoja de cálculo activa
Si utiliza el método Select para seleccionar celdas, recuerde que Select sólo funciona en la hoja de cálculo activa. Si ejecuta el procedimiento Sub desde el módulo, el método Select devuelve un error a menos que el procedimiento active la hoja de cálculo antes de utilizar el método Select en un rango de celdas. Por ejemplo, el siguiente procedimiento copia una fila de la hoja "Sheet1" a la hoja "Sheet2" del libro activo.
Sub CopyRow()
Worksheets("Sheet1").Rows(1).Copy
Worksheets("Sheet2").Select
Worksheets("Sheet2").Rows(1).Select
Worksheets("Sheet2").Paste
End Sub
Activar una celda en una selección
Puede utilizar el método Activar para activar una celda en una selección. Sólo puede haber una celda activa, aunque se haya seleccionado un rango de celdas. El siguiente procedimiento selecciona un rango y, a continuación, activa una celda del rango sin cambiar la selección.
Sub MakeActive()
Worksheets("Sheet1").Activate
Range("A1:D4").Select
Range("B2").Activate
End Sub
Soporte técnico y comentarios
¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.