Compartir a través de


Seleccionar y activar celdas

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.