2- Instrucciones
básicas:
Trabajando con Libros:
Descargar
archivo

TrabajandoConLibros.xls
(28 Kb)
1-Abrir un segundo libro:
Application.Workbooks.Open "C:\Mis
docu\Libro1.xls" o Workbooks.Open
"C:\....."
2-Activar un segundo
libro:
Workbooks("Libro2.xls").Worksheets("Hoja3").Activate
o
Workbooks(2).Sheets(3).Activate
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
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.
Ejemplo:
ActiveWorkbook.SaveAs Filename:="C:\Mis doc\Libro.xls",,,
ReadOnlyRecommended:=False
6-Guardar un libro cuyo nombre
será el valor de una variable:
ActiveWorkbook.SaveAs
Filename:=Range("A2").Value
7-Para no mostrar aviso al
salir, o al eliminar una hoja, o cualquier aviso que queremos
obviar:
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-Para no mostrar la ejecución
de la macro:
Application.ScreenUpdating =
False
'volverla a True al finalizar la macro
10-Ejecutar una macro al abrir
un libro:
Crear una rutina pública o
insertar una rutina en un módulo:
Ejemplo: Sub Nuevamacro
()
'instrucciones
End
Sub
Y en el evento Open del
objeto ThisWorkbook: Private Sub Workbook_Open
()
Nuevamacro
End Sub
Trabajando con Hojas:
Descargar
archivo

TrabajandoConHojas.xls (33,5
Kb)
1- Activar o seleccionar otras
hojas:
Sheets("Hoja2").Activate o
Sheets(2).Select
2-Seleccionar la hoja anterior
o siguiente:
ActiveSheet.Previous.Select
'hoja anterior a la activa
ActiveSheet.Next.Select
'hoja posterior a la activa
3-Datos de la
hoja:
ActiveSheet.Name
'nombre de la hoja
ActiveSheet.Index
'número de hoja
4-Copiar datos de una hoja a
otra:
Selection.Copy
'previamente se habrá seleccionado
algo
ActiveSheet.Paste
Destination:=ActiveSheet.Next.Cells(1,4)
Application.CutCopyMode=
False
5- Ocultar filas o
columnas:
ActiveCell.EntireRow.Hidden=True o
ActiveCell.EntireColumn.Hidden= True
6-Proteger o desproteger una
hoja:
ActiveSheet.Protect
"contraseña"
'proteger con contraseña
ActiveSheet.Unprotect "contraseña"
'quitar la
protección
7-Insertar filas o
columnas:
Workbooks("Libro1").Sheets("Hoja2").Column(i).Select
Selection.EntireColumn.Insert
'reemplazar Column por Row en caso de
filas.
8-Eliminar filas o
columnas:
ActiveSheet.Row(n).Select
Selection.EntireRow.Delete
9-Insertar una imagen en una
hoja:
ActiveSheet.Pictures.Insert(ruta).Select
'la ruta entre comillas: "C:\Mis
docu\Foto1.jpg"
10-Imprimir la hoja
seleccionada:
ActiveWindow.SelectedSheet.PrintOut
Copies:=1, Collate:=True
Trabajando con celdas:
Descargar
archivo

TrabajandoConCeldas.xls (33
Kb)
1- Formas de seleccionar una celda o un rango
de celdas:
Range("B7").Select
'selecciona la celda B7
Range("B:B").Select
'selecciona toda la columna B
Range("A4:A10, D10,
B5:B20").Select
'selecciona rangos discontinuos
Range("A"&variable).Select
'selecciona la celda cuya fila será el valor de la
variable
Si
Rango=("B2"&":E"&variable)
entonces:
Range(rango).Select 'selecciona el rango B2:E hasta la
fila indicada en la variable
Range("A:A,
D:F").Select
'selecciona las columnas A, D, E y F
Range("2:2,
4:7").Select
'selecciona las filas 2 y desde 4 hasta la
7.
2- Seleccionar celdas a cierta distancia de la
celda activa:
Sheets(1).Range("A1").Offset(2,3).Select
'selecciona la celda D3
ActiveCell.Offset(-10,1).Select
'selecciona la celda que se encuentra 10 filas por
encima
'y 1 columna a la derecha de la celda
activa.
3- Formato de celdas:
Range("B2:D10").Select
With Selection
.Font.Bold=True
'formato negrita
.Font.Italic=True
'formato cursiva
.Font.Underline=xlUnderlineStyleSingle
'subrayado simple
.Font.Color =
RGB(255,0,0)
'color de fuente (para estos valores será rojo)
.HorizontalAlignment=xlCenter
'alineación central (Right=derecha,
Left=izquierda)
End With
4- Guardar la dirección de una celda en una
variable:
lugar=
ActiveCell.Address
'guarda la referencia absoluta
lugar= ActiveCell.Address(False,
False)
'guarda la referencia relativa
5- Copiar un comentario en otra
celda:
ActiveCell.Offset(0,1).Value =
ActiveCell.Comment.Text
'copia el comentario de la celda
activa en la celda que se encuentra en
la
'columna siguiente.
6-Seleccionar celdas y
borrarlas:
Range(rango).
Select o
Cells.Select
Selection.ClearContents
7- Ampliar un rango
seleccionado
Selection.Resize(10,4).Select
' (10 filas, 4 columnas)
' si el rango seleccionado fue A1:B5 ahora será:
A1:D10
8- Combinar celdas
selecccionadas:
Range("B1:E1").Select
Selection.Merge
9- Seleccionar el rango
donde se encuenra la celda activa:
Range("B2").CurrentRegion.Select
10- Seleccionar hasta la última
celda no vacía:
Range("A2",
Range("A2").End(xlDown)).Select
'seleciona desde A2 hacia abajo
Range("A2",
Range("A2").End(xlToRight)).Select
'selecciona desde A2 hacia la derecha
Range("D2",
Range("D2").End(xlToLeft)).Select
'selecciona desde D2 hacia la izquierda
Range("A20",
Range("A20").End(xlUp)).Select
'selecciona desde A20 hacia arriba
En cambio, para seleccionar solo
la última celda con datos será:
Range("A2").End(xlDown).Select
Trabajando con una
colección:
Descargar
archivo

TrabajandoConColecciones.xls
(27,5 Kb)
Ejemplo1: introducir un nombre para cada
hoja del libro activo:
Dim MiNombre as String
Dim hoja as Worksheet
For Each hoja in
Worksheets
MiNombre =
InputBox("Ingrese nombre de hoja: ")
next hoja
Ejemplo2: introducir valores para cada
celda de un rango
Dim celdita as Range
For Each celdita in
ActiveSheet.Range("A1:B10")
celdita.Value =
InputBox("Ingrese valor: ")
next celdita
Ejemplo3: introducir los mismos valores
en celdas de todas las hojas
Dim hoja as Sheets
For Each hoja in Sheets
hoja.Range("E3").Value = Date
hoja.Range("F3").Value = Time
next hoja
Trabajando con objetos:
Descargar
archivo

TrabajandoConObjetos.xls (50 Kb)
(En cada punto
encontrarán varios ejemplos. Ver
otras rutinas en Macros)
1- Llamando a un Userform,
desde un botón:
En una hoja de Excel, los botones que
lanzan una acción, pueden ser colocados con la barra de
Formularios o Cuadro de Controles.
- Botón de formulario: se asigna una macro que previamente
se escribió en un módulo en el Editor de Visual Basic.
Ejemplo:
Sub mostrando ()
UserForm1.Show
'nombre del Userform que se desea mostrar en la hoja
End Sub
- Botón del Cuadro de controles: una vez dibujado en la
hoja, clic derecho, Ver código y escribir la rutina (ésta se
habilita en la hoja donde aparecerá el control).
Ejemplo:
Private Sub
CommandButton1_Click()
UserForm1.Show
End
Sub
2- Asignando valores a los
Cuadros de texto:
Ejemplos de cómo registrar datos en
los textbox:
TextBox1.Value =
"CANCELADO"
TextBox2 =
Sheets("Hoja3").Range("A5").Value
TextBox2 = Range("C1").Value +
Range("C2").Value
3- Volcar datos de un UserForm
a la hoja:
Cells(fila, col).Value =
TextBox1.Value
Sheets("Hoja1").Cells(fila,
col).Offset(1, 0).Value =
TextBox2.Value
4- Cargar datos a un ListBox de
un UserForm:
Private Sub
UserForm_Activate()
Dim item As Variant
For Each item In
Range("F1:F6")
ListBox1.AddItem item.Value
Next
item
End Sub
