En el apartado anterior vimos como generar macros y
utilizarlas, para finalizar comenté "A que voy con esta practica.. a que
la mayoría de los botones y herramientas que nos proporcionan todas las
aplicaciones de Office ó específicamente windows se basan en eventos, es
decir, al pulsar un botón, una tecla, al mover el mouse... estamos
ejecutando código que se representa como acciones en nuestra PC."...
Ahora les mostraré el porque, veamos algunas de las
acciones más comunes vistas mediante código que realizamos a diario en
Excel:
TRABAJANDO CON CELDAS
'Introducir datos en una celda seleccionada, o
sea. la celda activa:
ActiveCell.FormulaR1C1 = "Jorge Rojas"
'Seleccionar una celda específica:
Range("B3").Select
'Seleccionar un rango de celdas:
Range("A1:B4").Select
'Rango continuo
Range("A1,A3,A5").Select 'Rango discontinuo
'Seleccionar una celda y eliminar su contenido:
Range("A1").ClearContents
'También...
Activecell.ClearContents
'Cambiar el formato de una celda a Negrita:
Selection.Font.Bold = True 'Aplicar
Selection.Font.Bold = False 'Quitar
'Cambiar el formato de una celda a Cursiva:
Selection.Font.Italic = True 'Aplicar
Selection.Font.Italic = False 'Quitar
'Aplicar formato subrayado:
Selection.Font.Underline = xlUnderlineStyleSingle
'Aplicar
Selection.Font.Underline = xlUnderlineStyleNone
'Quitar
'Aplicar color de texto a una selección, la
numeración varía dependiendo el color:
Selection.Font.ColorIndex = 3 'en este caso
color rojo
'Aplicar color al fondo de la celda o celdas
seleccionadas:
With Selection.Interior
.ColorIndex = 6 ' en este caso color amarillo
.Pattern = xlSolid
End With
'Copiar:
Selection.Copy 'Cortar
Selection.Cut
'Pegar:
ActiveSheet.Paste
'Seleccionamos una celda y podemos: Range("A2").Select
'Insertar celda y que se recorra toda la fila a la
derecha
Selection.Insert Shift:=xlToRight
'Eliminar celda y que se recorra toda la fila a la
izquierda
Selection.Delete Shift:=xlToLeft
'Seleccinamos una columna y
podemos:
Columns("A:A").Select
'Selecciona toda la columna A
Selection.Insert Shift:=xlToRight 'Insertar
columna
Selection.Delete Shift:=xlToLeft 'Eliminar columna
'Seleccionamos toda la fila y podemos
Rows("2:2").Select
'Selecciona toda la fila 2
Selection.Insert Shift:=xlDown 'Insertar fila
Selection.Delete Shift:=xlUp 'Eliminar fila
'Para agregar un comentario a una celda
Range("A3").Select 'Seleccionamos la cela
Range("A3").AddComment 'Agregamos comentario
Range("A3").Comment.Text Text:="Ejemplo Insertar Comentario en celda"
'Introducimos texto
'Para eliminar comentario
Range("A3").Select 'Seleccionamos la celda que contiene el comentario
Selection.ClearComments 'Lo borramos
TRABAJANDO CON HOJAS
'Cambiar de hoja activa:
Sheets("Hoja2").Select
'También se puede utilizar de la siguiente manera:
Sheets(2).Select
'Agrega una nueva hoja al libro
Worksheets.Add
'Elimina una hoja especifica.
Sheets("Hoja3").Delete
'Elimina la hoja activa o seleccionada
ActiveWindow.SelectedSheets.Delete
'Cambia el nombre de una hoja específica
Sheets("Hoja2").Name = "NuevoNombre"
'Cambia el color de fondo de TAB (pestaña) de una
hoja específica
ActiveWorkbook.Sheets("HOJA2").Tab.ColorIndex = 49
'En este caso a azul
'Selecciona el area de impresión de una hoja
ActiveSheet.PageSetup.PrintArea = "$A$1:$A$9"
'Presentación preeliminar de impresión de la hoja
ActiveWindow.SelectedSheets.PrintPreview
TRABAJANDO CON LIBROS
'Abre un nuevo Libro
Workbooks.Add
'Guarda los cambios del libro activo:
ActiveWorkbook.Save
'Guarda el libro activo en la Ruta y Nombre que le
indiquemos
ActiveWorkbook.SaveAs Filename:= "C:/Libro1.xls", FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False
_
, CreateBackup:=False
'Abre el cuadro de dialogo "Guardar Como..."
Application.Dialogs(xlDialogSaveAs).Show
Y así hay muchísimas más acciones que podemos manejar en el código
para que podamos crear aplicaciones que nos faciliten la vida... he ahí
uno de los objetivos de las macros, o sea, acelerar, automatizar el
trabajo que realizamos para que sea más fácil y por supuesto, en el
menor tiempo posible.
![](imagenes/Macros10.jpg)
|