Anterior
Página:
1 [2] 3
4 Siguiente
Trabajando con Libros
En esta sección aparecerán algunas
de las instrucciones 'básicas' para utilizar con LIBROS. Una vez copiada en el
Editor, colocar el cursor sobre la palabra en negrita y presionar F1 para
acceder a la Ayuda Excel. Allí se encontrarán más explicaciones y ejemplos para
cada instrucción.
Nota: Al inicio de esta sección Macros hemos visto las distintas maneras de
hacer referencia a Libros, Hojas y Rangos o celdas. A partir de aquí usaré solo
el objeto activo considerando que puede usarse algunas de las otras expresiones
1-Abrir un segundo libro:
Workbooks.Open "C:\Mis docu\Libro1.xlsb"
' o también: Application.Workbooks.Open "C:\.....\Libro1.xlsb"
Si el nombre se encuentra en una
varible NO lleva comillas (aquí se abre un libro que se encuentra en la misma
carpeta que el libro activo. La variable 'libro2' contiene el nombre y la
extensión)
Workbooks.Open
ThisWorkBook.Path & "\" & libro2
2-Activar un segundo libro:
Workbooks("Libro2.xls").Activate
'o también: Workbooks(2).Activate ,
en este caso Libro2.xls es el 2do libro abierto
3-Cerrar un libro (sin guardar):
Workbooks("Libro1.xls").Close False
'o
ActiveWorkbook.Close False
4-Cerrar un libro (guardando los cambios):
ActiveWorkbook.Save
ActiveWorkbook.Close
'o en 1 sola línea:
ActiveWorkBook.Close True
5-Guardar un libro con otro nombre:
ActiveWorkbook.SaveAs Filename:="C:\Mis doc\Libro1.xls", FileFormat:=xlNormal,
Password:="clave", ReadOnlyRecommended:=False
Estas son algunas de las opciones. Si se omiten, escribir la coma, como en el siguiente ejemplo:
ActiveWorkbook.SaveAs Filename:="C:\Mis doc\Libro.xls",,, ReadOnlyRecommended:=False
*- La carpeta y el nombre del libro
pueden guardarse en variables, como en este ej:
ruta = ThisWorkbook.Path & "\"
'o quizás: ruta = "C:\"
libro = "LibroCopia.xlsm"
ActiveWorkbook.SaveAs ruta &
libro
6-Guardar un libro cuyo nombre será el valor de una celda:
ActiveWorkbook.SaveAs Filename:=Range("A2").Value
7-No mostrar aviso al salir, al eliminar hoja, o cualquier aviso que queremos omitir:
Application.DisplayAlerts= False
'volverla a True al finalizar la macro
8-Deshabilitar la opción de actualizar vínculos al abrir un libro:
Application.DisplayAlerts= False 'volverla a True al
finalizar la macro
WorkBooks.Open Filename:= "C:\Mis docu\pruebas.xls", UpdateLinks:= 0
9-No mostrar la ejecución de la macro (movimiento de pantalla):
Application.ScreenUpdating = False 'volverla a True al finalizar
la macro
10-Ejecutar una macro al abrir un libro:
Insertar un módulo y allí escribir una rutina:
Ejemplo: Sub Nuevamacro ()
'instrucciones,
por ej:
MsgBox "Bienvenid@"
End Sub
Y agregar esta otra en el objeto ThisWorkbook:
Private Sub Workbook_Open ()
Nuevamacro
'o también puede llamarse utilizando la expresión Call
'Call Nuevamacro
End Sub
Trabajando con Hojas
En esta sección aparecerán algunas
de las instrucciones 'básicas' para utilizar con HOJAS. Una vez copiada en el
Editor, colocar el cursor sobre la palabra en negrita y presionar F1 para
acceder a la Ayuda Excel. Allí se encontrarán más explicaciones y ejemplos para
esa instrucción.
1-Seleccionar la hoja anterior o siguiente:
ActiveSheet.Previous.Select
'hoja anterior a la activa
ActiveSheet.Next.Select
'hoja posterior a la activa
2-Datos de la hoja:
ActiveSheet.Name
'nombre de la hoja
ActiveSheet.Index
'número de hoja
3-Copiar datos de una hoja a la siguiente:
Selection.Copy
'previamente se habrá seleccionado algo
ActiveSheet.Paste Destination:=ActiveSheet.Next.Range("B2")
4- Ocultar filas o columnas:
ActiveCell.EntireRow.Hidden=True ' filas
ActiveCell.EntireColumn.Hidden= True
'col
5-Proteger o desproteger una hoja:
ActiveSheet.Protect "contraseña"
'proteger con contraseña
ActiveSheet.Unprotect "contraseña"
'quitar la protección
6-Insertar filas o columnas a partir
de cierta ubicación:
'reemplazar i por el nro de columna
ActiveSheet.Column(i).Select
Selection.EntireColumn.Insert
'reemplazar Column por Row en caso de
filas.
7-Conocer el nro de columna de
cierta referencia:
Cuando utilizamos la expresión:
Cells(fila,col) y queremos hacer referencia a la celda AB5 por ej, necesitamos
conocer cuál es el nro de columna. Para eso podemos solicitarla en un mensaje
con:
Sub nrocol()
Msgbox Range("AB1").Column
End Sub
8-Eliminar filas o columnas:
ActiveSheet.Row(n).Select 'reemplazar n por el nro de fila
Selection.EntireRow.Delete
9-Insertar una imagen en una hoja:
ActiveSheet.Pictures.Insert(ruta).Select
'la ruta va entre comillas, por ej: "C:\Mis docu\Foto1.jpg"
10-Imprimir la hoja seleccionada:
ActiveWindow.SelectedSheet.PrintOut Copies:=1, Collate:=True
'o
ActiveSheet.PrintOut
Reemplazar PrintOut por
PrintPreview para realizar solo una vista preliminar.
Anterior
Página:
1 [2] 3
4 Siguiente