Otro ejemplo manipulando Libros y Hojas

En el siguiente ejemplo haremos uso de libros y hojas. Activaremos una y otra hoja, añadiremos hojas al final de todas las hojas, a la izquierda o derecha de una hoja en particular, etc.

Abra un libro nuevo. Vaya al editor usando +F11. Inserte un modulo y, hacienda clic en su de la ventana de propiedades, digite ModHoja2.

A cotinuación digite el siguiente procedimiento. Tenga cuidado de distinguir las líneas que son comentarios de otras que son instrucciones.

Como puede apreciar, al interior del procedimiento se dan la explicación de cada acción.

Recuerde que, cuando una instrucción no quepa en una línea, se puede continuar escribiendo en la siguiente, dejando “un espacio en blanco y luego guión abajo y después presionar y continuar con la instrucción. Esto se aprecia en el tercer MsgBox que ocupa dos líneas.

Este es el procedimiento:


Sub Hojas02()

' Vamos a abrir un nuevo libro para grabarlo como MisMacros03.xlsm
'
' Guardamos el nombre de este archivo como MisMacros03, habilitado para macros
' Recuerde que, cuando pida nombre, debe digitar MisMacros03.xlsm
fName = Application.GetSaveAsFilename
ActiveWorkbook.SaveAs fName, FileFormat:=xlOpenXMLWorkbookMacroEnabled
'
' Guardamos el nombre del libro activo (MisMacros03.xlsm)
fMac = ActiveWorkbook.Name

' Las siguientes dos líneas permiten abrir un archivo (Ej. ComercialCenter.xlsx
fName = Application.GetOpenFilename
Workbooks.Open fName
' Vea lo que contiene la variable fName luego de abrir un libro
MsgBox fName
' Ahora el nombre del mismo libro pero que está activo

MsgBox ActiveWorkbook.Name
'
' Vamos a guardar el nombre para uso futuro
fTempo = ActiveWorkbook.Name
' Vamos a averiguar cuántas hojas tiene
nH = ActiveWorkbook.Worksheets.Count
MsgBox "Este libro tiene " & nH & " hojas." + Chr(13) + _
"Observe la hoja activa. La 1, llamada Ventas; la 4 se llama Estadisticas."

' Vamos a activar la primera hoja con Activate o Select
' Cada vez que se abre un libro, la hoja activa es aquella en la cual estaba cuando se grabó.
' Lo usual es que la hoja activa sea la 1.
' De todas maneras vamos a seleccionarla para que quede activada
Worksheets(1).Select
MsgBox " "

' Nos vamos a la cuarta hoja e insertamos dos hojas nuevas
' Como puedes ver, las dos están a la izquierda de la que fue cuarta.
Worksheets(4).Activate
Worksheets.Add
Worksheets.Add
' Ahora, vamos a insertar dos nuevas hojas a la derecha de Clientes
Worksheets.Add After:=Worksheets("Clientes")
Worksheets.Add After:=Worksheets("Clientes")
' Ahora insertamos una nueva hoja antes de Productos
Worksheets.Add Before:=Worksheets("Productos")
'
' Activamos el libro MisMacros03.xlsm (estuvo activo ComercialCenter.xlsx)
Workbooks(fMac).Activate
' Vamos a cerrar el libro ComercialCenter sin grabar
Workbooks(fTempo).Close
'
' Volvemos a grabar MisMacros (unico abierto) sólo con Guardar
ActiveWorkbook.Save

End Sub

Luego ejecuta usando F5 o el botón de ejecución de la barra de herramientas.

El libro también lo puede descargar haciendo clic aquí

Guarde su libro MisMacros03.xlsm. En la siguiente sesión haremos uso del objeto RANGO

La siguiente imagen contiene el procedimiento descrito líneas arriba
haga clic aquí