Está en la página 1de 12

MACROS MANUALES.

TRABAJANDO CON VISUAL BASIC


El ejemplo propuesto y los ejercicios a desarrollar, infoinsanjo1@gmail.com antes de finalizar la sesin de clase. Recuerda guardar el libro como libro de Excel habilitado para macros. El punto dos y 3 es una explicacin de los cdigos, lo puedes hacer en Excel o en Word. Lee y analiza el tutorial antes de desarrollar el ejercicio. envalos a

Fase 2
Bien, ahora despus de practicar la Fase 1 Macros Automticas pasaremos a la siguiente Fase que nos permitir observar los cdigos que hemos generados con nuestra macros. Te recomiendo que salgas de Excel si te encuentras en este y vuelvas a entrar, para que trabajes limpio sin ninguna macro y empezando de la macro1 de nuevo.

OBSERVANDO LOS CODIGOS DE UNA MACRO DE EXCEL

Crearemos una macro y veremos sus cdigos: Para observar los cdigos de una macro debemos de seguir los siguientes pasos:

1. Primeramente trasldese a la celda A5 antes de empezar la grabacin de la Macro 2. Presione el Botn Grabar Macro 3. en la opcin Mtodo Abreviado escriba la letra r, por lo tanto la macro se llamara con Control + r 4. Presione el botn Aceptar. Excel inicia la grabacin del la Macro1 5. Trasldese a la celda A1 y escriba Mary, despus presione Enter para aceptar el valor en la celda 6. Pare la grabacin de la macro presionando el botn Detener Grabacin. Excel a grabado los pasos y a generado un cdigo, Observmoslos: 7. Presione la tecla Alt + la tecla de funcin F11(Alt + F11). Excel nos traslada al Editor de Visual Basic. Si este editor no se activa es que Excel no esta bien instalado o se a borrado. Tambin puede acceder desde el Men Herramientas, Macro y Editor de Visual Basic. 8. Active los siguientes cuadros o ventanas:

De clic en el Men Ver y elija la opcin Explorador de Proyectos De clic en el Men ver y elija la opcin Ventana Propiedades

Estas dos opciones deben de estar siempre activadas ya que de ah depende todo lo que vallamos a hacer.

9. Del cuadro Proyecto de doble clic en Mdulos o simplemente presione el signo de + que aparece en la opcin Mdulos. Se activara debajo de Mdulos la Opcin Modulo1 10. De doble clic en Modulo1. Se mostrara en el Editor de Visual Basic el cdigo de la macro que grabamos de la siguiente forma: Sub Macro1() ' ' Macro1 Macro ' Macro grabada el 21/04/2010 por Mara Isabel De Moya ' ' Acceso directo: CTRL+r ' Range("A1").Select ActiveCell.FormulaR1C1 = "Mary"

Range("A2").Select End Sub

a continuacin se da una explicacin de lo que ha hecho Excel:

Sub y End Sub indican el inicio y el final del procedimiento de la Macro1 Todo lo que aparece con un apostrofe indica que no se tomara en cuenta que es solo texto o comentarios y ese texto debe de aparecer en un color, ya sea el color verde. Range("A1").Select Indica que lo primero que hicimos al grabar la macro fue trasladarnos a la celda A1. La orden Range nos permite trasladarnos a una celda ActiveCell.FormulaR1C1 = "Mary" Esto indica que se escribir en la celda en que se encuentra el valor de texto Mary. Todo lo que aparece entre comillas siempre ser un valor de texto. La orden ActiveCell.FormulaR1C1 nos permite escribir un valor en la celda activa. Range("A2").Select Otra vez indicamos que se traslade a la celda A2. Esto se debe a que cuando escribimos el nombre de Mary en A1 presionamos Enter y al dar Enter bajo a la celda A2.

Para comprender mejor alteraremos el cdigo dentro del editor de Visual Basic. Realiza las modificaciones que te planteo Sub Macro1() ' ' Macro1 Macro ' Macro grabada el 21/04/2010 por Mara Isabel De Moya ' ' Acceso directo: CTRL+r ' Range("A1").Select ActiveCell.FormulaR1C1 = "Mary" Range("B1").Select

ActiveCell.FormulaR1C1 = "calle 69E N 41" Range("C1").Select ActiveCell.FormulaR1C1 = "31352336" Range("D1").Select ActiveCell.FormulaR1C1 = "Las delicias" Range("E1").Select ActiveCell.FormulaR1C1 = "Ing. De sistemas End Sub As es acabo de alterar el cdigo y cuando regrese a Excel y ejecute la macro con Control + r har lo siguiente: En A1 escribir Mary En B1 escribir Calle 69 E N41 En C1 escribir 3606273 En D1 escribir Las delicias En E1 escribir Ing. De sistemas As que salgamos del editor dando clic en el Men Archivo y eligiendo la opcin Cerrar y volver a Microsoft Excel. Si no desea salir por completo de clic en el botn Microsoft Excel que se encuentra activado en la barra de tareas y cuando dese volver al editor de clic en el botn Microsoft Visual Basic que se encuentra en la barra de Tareas. Ahora ya que salimos de Visual Basic y estamos en Excel de Nuevo ejecutemos la macro presionando Control + r y veamos los resultados de nuestra modificacin. Que te parece es sencillo o No?, CREANDO EN EL EDITOR LA MACRO: Ingresa al editor de visual. Has clic en el men insertar y activa la opcin modulo, automticamente se visualiza la pantalla de edicin de visual en la cual escribirs el siguiente cdigo. Sub ejemplo Activesheet.range(a1).value=hola Activesheet.range(a1).font.bold=true

Activesheet.range(a1).font.color=RGB(0,0,255) End sub Descripcin del ejercicio. Al ejecutar esta macro se escribir en la celda A1 la palabra hola en negrita y color azul. Todo procedimiento en visual inicia indicando el nombre del procedimiento Sub ejemplo y finaliza con la instruccin END sub. La instruccin Activesheet.range(a1).value=hola ubica el cursor en la celda A1 y escribe en ella la palabra hola. Activesheet.range(a1).font.bold= true active la propiedad Negrita Activesheet.range(a1).font.color= RGB(0,0,255) active la propiedad color dando la tonalidad azul.

Practica II Te doy los cdigos ms comunes y utilizados que te ayudaran con el uso de macros manuales, tomndolos como referencia realiza la siguiente macro en el editor de visual. Crea una macro que escriba en la celda B3 tu nombre, tamao de fuente 48, en negrita color azul, fuente elephant , centrado y subrayado. En la celda c3 tu apellido alineado a la derecha, color de fuente rojo. Copia el contenido de la celda b3 en la celda d3 Ten en cuenta que para activar cada instruccin debes activar la celda y que debes hacerlo directamente desde el editor de visual ya que si utilizas macros automticas estn generan cdigos adicionales y se te anular el ejercicio.
Cdigos Ms comunes: Activar una Celda Range("A1").Select Escribir en una Celda

Range(a1).value="Ramon" Negrita Range(a1).Font.Bold = True Letra Cursiva Range(a1).Font.Italic = True Letra Subrayada Range(a1).Font.Underline = xlUnderlineStyleSingle Color de fuente Range(a1).font.color=RGB(0,256,0) debes ingresar los parmetros indicados para obtener el color en el cdigo anterior se est activando el color verde. Centrar Texto With Selection .HorizontalAlignment = xlCenter End With Alinear a la izquierda With Selection .HorizontalAlignment = xlleft End With Alinear a la Derecha With Selection .HorizontalAlignment = xlright End With Tipo de Letra(Fuente) Range(a1).Font.Name = "AGaramond" Tamao de Letra(Tamao de Fuente) Range(a1).font.Size = 15

Copiar Range(a1).Copy Pegar Range(a1).PasteSpecial Cortar

Selection.Cut Ordenar Ascendente Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom Orden Descendente Selection.Sort Key1:=Range("A1"), Order1:=xlDescending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom Buscar Cells.Find(What:="Ramon", After:=ActiveCell, LookIn:=xlFormulas, LookAt _ :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False).Activate Insertar Fila Selection.EntireRow.Insert Eliminar Fila Selection.EntireRow.Delete Insertar Columna Selection.EntireColumn.Insert Eliminar Columna Selection.EntireColumn.Delete Abrir un Libro

Workbooks.Open Filename:="C:\Mis documentos\video safe 3.xls" Grabar un Libro ActiveWorkbook.SaveAs Filename:="C:\Mis documentos\piscis.xls", FileFormat _ :=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:= _ False, CreateBackup:=False 2. En la hoja 2 Escribe los siguientes nmeros en el rango D5:D10 34,67,57,3,1,2 Ingresa al editor de visual, copia y pega el cdigo en un nuevo modulo. Cual crees que sera el resultado de la siguiente macro al ejecutarla en Excel?, para ejecutar la macro puedes hacerlo de dos formas, haciendo clic en el smbolo de reproduccin desde el editor o en la pestaa vista/macro/vermacro/ejecutar Sub Macro2() ' ' Macro2 Macro ' ' Acceso directo: CTRL+q ' Range("D5:D10").Select ActiveWorkbook.Worksheets("Hoja1").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Hoja1").Sort.SortFields.Add Key:=Range("D5"), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Hoja1").Sort .SetRange Range("D5:D10") .Header = xlNo .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin

.Apply End With End Sub

3. Explica el cdigo de la siguiente macro, Debes explicar como mximo 10 lneas de cdigo Sub Macro1() ' ' Macro1 Macro ' ' Acceso directo: CTRL+a ' Range("A1").Select ActiveCell.FormulaR1C1 = "MARY" Range("A1").Select Selection.Font.Bold = True

With Selection.Font .Name = "Baskerville Old Face" .Size = 14 .Strikethrough = False .Superscript = False .Subscript = False .OutlineFont = False .Shadow = False .Underline = xlUnderlineStyleNone

.ThemeColor = xlThemeColorLight1 .TintAndShade = 0 .ThemeFont = xlThemeFontNone End With With Selection.Font .Color = -16776961 .TintAndShade = 0 End With Selection.Copy Range("B1").Select ActiveSheet.Paste End Sub

MACROS CONDICIONALES

Ejercicio a Resolver. Disea una macro que compare los datos de las casillas A1 y B1 si estos datos son iguales entonces cambie el color de ambas a rojo, tamao 48 y cursiva. Si son diferentes entonces cambia el formato del dato A1 asi: color verde, tamao 14, negrita y b2 color azul, tamao 20, normal. Para este ejercicio necesitars trabajar con el condicional IF te doy la estructura y tu solamente debes ubicar las instrucciones tanto comparativas como de ejecucin. Las estructuras condicionales son instrucciones de programacin que permiten controlar la ejecucin de un fragmento de cdigo en funcin de si se cumple o no una condicin. Estudiaremos en primer lugar la instruccin if Condicin then..End if (Si Condicin Entonces...Fin Si) La estructura condicional que se construye con la instruccin Si Condicin Entonces... Fin Si tiene la forma siguiente. . Si Condicin Entonces Sentncia1 Sentncia2

... Sentencian Fin Si Cuando el programa llega a la instruccin Si Condicin Entonces , se evala la condicin, si esta se cumple (es cierta), se ejecutan todas las sentencias que estn encerradas en el bloque, si no se cumple la condicin, se saltan estas sentencias. Esta estructura en Visual Basic tiene la sintaxis siguiente, If Condicin Then Sentncia1 Sentncia2 SentnciaN End If

ESTRUCTURA

Sub condicional IF (aqu escribes la comparacin, piensa cual sera y como escribiras la instruccin que compare el dato de A1 con B1) THEN Instrucciones de ejecucin ELSE Instrucciones de ejecucin

END IF END SUB

Nota: instrucciones de ejecucin se refiere al conjunto de instrucciones que se deben ejecutar despus de la comparacin. EJERCICIO 2.

TENIENDO DOS NUMEROS EN LAS CELDAS A3 Y B3 VISUALICE EN C3 LA SUMA DE ESTOS EN COLOR ROJO, NEGRITA Y SUBRAYADO SI A3 ES MENOR QUE B3 ;SINO VISUALICE EN VERDE TAMAO 20 NEGRITA LA RESTA DE LOS NUMEROS.

También podría gustarte