jueves, 20 de junio de 2013

Como seleccionar celdas y rangos en VBA

En más de una ocasión quienes trabajamos con Macros en Excel (Visual Basic Application - VBA) nos encontramos con la necesidad de seleccionar una celda o un rango de celdas de Excel.
Para ello encontramos los siguientes casos:

Cómo seleccionar una celda en una hoja activa

Para seleccionar la celda D5 en la hoja activa, puede utilizar cualquiera de los ejemplos siguientes:

    ActiveSheet.Cells(5, 4).Select

O bien

    ActiveSheet.Range("D5").Select

Cómo seleccionar una celda en otra hoja del mismo libro

Para seleccionar la celda E6 en otra hoja del mismo libro, puede utilizar cualquiera de los ejemplos siguientes:

    Application.Goto ActiveWorkbook.Sheets("Sheet2").Cells(6, 5)

O bien

    Application.Goto (ActiveWorkbook.Sheets("Sheet2").Range("E6"))

O bien
    
    Sheets("Sheet2").Activate
    ActiveSheet.Cells(6, 5).Select

Cómo seleccionar una celda en una hoja de un libro diferente

Para seleccionar la celda F7 en una hoja de un libro diferente, puede utilizar cualquiera de los ejemplos siguientes:

    Application.Goto Workbooks("BOOK2.XLS").Sheets("Sheet1").Cells(7, 6)

O bien

    Application.Goto Workbooks("BOOK2.XLS").Sheets("Sheet1").Range("F7")

O bien

    Workbooks("BOOK2.XLS").Sheets("Sheet1").Activate
    ActiveSheet.Cells(7, 6).Select

Cómo seleccionar un rango de celdas en la hoja activa

Para seleccionar el rango C2:D10 en la hoja activa, puede utilizar cualquiera de los ejemplos siguientes:

    ActiveSheet.Range(Cells(2, 3), Cells(10, 4)).Select

O bien

    ActiveSheet.Range("C2:D10").Select

O bien

    ActiveSheet.Range("C2", "D10").Select

Cómo seleccionar un rango de celdas en otra hoja del mismo libro

Para seleccionar el rango D3:E11 en otra hoja del mismo libro, puede utilizar cualquiera de los ejemplos siguientes:

    Application.Goto ActiveWorkbook.Sheets("Sheet3").Range("D3:E11")

O bien

    Application.Goto ActiveWorkbook.Sheets("Sheet3").Range("D3", "E11")

O bien, puede activar la hoja y usar el método 4 anterior para seleccionar el rango:

    Sheets("Sheet3").Activate
    ActiveSheet.Range(Cells(3, 4), Cells(11, 5)).Select

Cómo seleccionar un rango de celdas en una hoja de un libro diferente

Para seleccionar el rango E4:F12 en una hoja de otro libro, puede utilizar cualquiera de los ejemplos siguientes:

    Application.Goto Workbooks("BOOK2.XLS").Sheets("Sheet1").Range("E4:F12")

O bien

Application.Goto _
    Workbooks("BOOK2.XLS").Sheets("Sheet1").Range("E4", "F12")

O bien

    Workbooks("BOOK2.XLS").Sheets("Sheet1").Activate
    ActiveSheet.Range(Cells(4, 5), Cells(12, 6)).Select

Cómo seleccionar un rango con nombre en la hoja activa

Para seleccionar el rango con nombre "Test" de la hoja activa, puede utilizar cualquiera de los ejemplos siguientes:

    Range("Test").Select

O bien

    Application.Goto "Test"

Cómo seleccionar un rango con nombre en otra hoja del mismo libro

Para seleccionar el rango con nombre "Test" en otra hoja del mismo libro, puede utilizar el ejemplo siguiente:

    Application.Goto Sheets("Sheet1").Range("Test")

O bien

    Sheets("Sheet1").Activate
    Range("Test").Select

Cómo seleccionar un rango con nombre en una hoja de un libro diferente

Para seleccionar el rango con nombre "Test" en una hoja de otro libro, puede utilizar el ejemplo siguiente:

Application.Goto _
    Workbooks("BOOK2.XLS").Sheets("Sheet2").Range("Test")

O bien

    Workbooks("BOOK2.XLS").Sheets("Sheet2").Activate
    Range("Test").Select

Si tuviesen algún caso en específico, no duden en preguntarme por este medio...siempre recuerden lo que le dice una gallina a la otra: "Busquemos a pollo... " (apoyo)

Espero que les haya servido todas estas lineas de código. 

Saludos
Ing. Enrique Neciosup Morales