Este es el objeto que nos permite acceder al contenido de los objetos WorkSheets (hojas) dentro de los objetos (WorkBooks).
Como los anteriores, se debe declarar usando la sentencia DIM xxxx As Object.
Como ha podido observar, haremos uso de estos objetos sólo si se requiere una instancia del objeto mismo.
Por ejemplo, una instancia del objeto WorkBook en particular, puede ser MisMacros03.xlsm.
Podríamos definir
Dim MiLibro As WorkBook
Una instancia de la hoja Ventas de este libro puede ser hVentas definido como:
Dim hVentas As WorkSheet
Solo cuando se necesite tratar con objetos en particular como MisMacros03 o la hoja Ventas, es que usaremos MiLibro o hVentas, en lugar de WorkBook y WorkSheet que son genéricos y requieren el nombre al que se hace referencia en un momento. De otra manera, no son imprescindibles los objetos como tales.
Esto es lo mismo que ocurre con el objeto Range. Se declara con:
Dim R1, RangoInit, RangoCoef As Range
Esto nos permitirá acceder a estos rangos sin usar la palabra Range de objeto pues ya ellos lo son. Por ejemplo, en lugar de usar Range("A5").Select, para seleccionar la celda A5, usaremos R1. De otra manera se usa Range(...).
>Abra su libro MisMacros03.xlsm. Si no lo tiene haga clic a uí
Vaya al editor e inserte un nuevo módulo y cambie su nombre por ModRango.
En ella ingrese el siguiente procedimiento que no requiere mayor explicación pues los comentarios y los mensajes que se emite al ejecutarlo, lo explican de manera objetiva.
He aquí la macro:
Sub Rangos01()
' El libro que está abierto y activo es MisMacros03.xlsm
' Por lo que no requiere activar dicho libro
' Sin embargo, lo activaremos
' Sí vamos activar la hoja en donde vamos a trabajar
' Esta será la Hoja1, aunque por default esta es la activa
Workbooks("MisMacros03.xlsm").Activate
Worksheets(1).Activate
' Su nombre es: Ventas. Lo guardaremos en xHoja
xHoja = ActiveSheet.Name
' Activamos la última hoja y la guardamos en uHoja
Worksheets(Worksheets.Count).Activate
uHoja = ActiveSheet.Name
' Activemos la primera hoja
Worksheets(xHoja).Activate
' Seleccionemos la celda A1
Range("B2").Select
' Vamos a emitir un msg vacío para ver si es cierto que B2 está activa
MsgBox " "
' Ahora vamos a seleccionar la celda H15
Range("D8").Select
MsgBox " "
' Pasemos a seleccionar el rango B5:D8
Range("B5:D5").Select
MsgBox " "
' Ahora seleccionemos toda la fila 5
Range("5:5").Select
MsgBox " "
' Seleccionamos las columnas C hasta F
Range("C:F").Select
MsgBox " "
End Sub
La imagen siguiente contiene el mismo procedimiento.
Guarde su libro MisMacros03.xlsm. En la siguiente sesión haremos uso de ejemplos con el objeto RANGO
haga clic aquí