SlideShare una empresa de Scribd logo
1 de 34
MACROS
MACROS
Cuando trabajamos con un libro personalizado, es decir, que nos hemos definido
con una serie de características específicas como puedan ser el tipo de letra, el
color de ciertas celdas, los formatos de los cálculos y características similares,
perdemos mucho tiempo en formatear todo el libro si disponemos de muchas
hojas. Con las macros lo que se pretende es automatizar varias tareas y
fusionarlas en una sola, añadiendo por ejemplo un botón en nuestro libro que al
pulsar sobre él realice todas esas tareas.
GRABAR UNA MACRO

La forma más fácil e intuitiva de crear macros es crearlas mediante el grabador
de macros del que dispone Excel. Este grabador de macros te permite grabar las
acciones deseadas que posteriormente las traduce a instrucciones en VBA, las
cuales podemos modificar posteriormente si tenemos conocimientos de
programación.
Cuando grabe una macro, la grabadora de macros graba todos los pasos
necesarios para completar las acciones que desea grabar.
Para grabar una macro debemos seguir los siguientes pasos:
Acceder a la pestaña Vista y despliega el submenú Macros
Seleccionar la opción Grabar macro...
Además de esta opción en el menú podemos encontrar las siguientes
opciones: Ver Macros... Donde accedemos a un listado de las macros creadas
en ese libro.
Usar referencias relativas - Con esta opción utilizaremos referencias relativas
para que las macros se graben con acciones relativas a la celda inicial
seleccionada.
Antes de realizar una Macro es muy importante hablar sobre sus seguridades. Se puede
grabar las macros desde la ficha Programador, si no está disponible, haga lo siguiente
para mostrarla: Haga clic en el Botón Microsoft Office y, a continuación, haga clic en
Opciones de Excel. Opción Más frecuentes Active con un visto la opción Como se
visualiza:




De clic en el Botón Aceptar. Se visualiza la pestaña Programador que contiene:
El grupo Código




Visual Basic y Macros El grupo Controles




             El grupo XML




          El grupo Modificar
SEGURIDAD EN MACROS
    Para establecer el nivel de seguridad de manera que estén habilitadas
    temporalmente todas las macros, haga lo siguiente: En la ficha Programador, en el
    grupo Código, haga clic en Seguridad de macros.


     Se visualiza:

En Configuración de macros, haga clic en
Habilitar    todas     las    macros    (no
recomendado; puede ejecutarse código
posiblemente peligroso) y, a continuación,
haga clic en Aceptar. Nota Para ayudar a
evitar que se ejecute código potencialmente
peligroso, recomendamos que vuelva a
cualquiera de las configuraciones que
deshabilitan todas las macros cuando
termine de trabajar con las macros.
En la ficha Programador, en el grupo Código, haga clic en Grabar macro. En el cuadro Nombre de la macro,
escriba un nombre para la macro.
Nota El primer carácter del nombre de la macro debe ser una letra. Los caracteres siguientes pueden ser
letras, números o caracteres de subrayado. No se permiten espacios en un nombre de macro, caracteres
especiales ni palabras reservadas; puede utilizarse un carácter de subrayado como separador de palabras. Si
utiliza un nombre de macro que también es una referencia de celda, puede aparecer un mensaje indicando
que el nombre de la macro no es válido.

En la lista Guardar macro en, seleccione el libro en el que desea almacenar la macro.
Sugerencia Si desea que la macro esté disponible siempre que utilice Excel, seleccione Libro de macros
personal. Cuando se selecciona Libro de macros personal, Excel crea un libro oculto de macros personal
(Personal.xlsb),. En Microsoft Windows XP, este libro se guarda en la carpeta C:Documents and
Settingsnombre de usuarioDatos de programaMicrosoftExcelXLStart para que se pueda cargar
automáticamente cada vez que se inicia Excel. En Microsoft Windows Vista, este libro se guarda en la carpeta
C:Usuariosnombre de usuarioDatos de programaMicrosoftExcelXLStart. Si desea que se ejecute
automáticamente una macro del libro de macros personal en otro libro, también debe guardar ese libro en la
carpeta XLStart, de forma que ambos libros se abran cuando se inicie Excel.

1. Para incluir una descripción de la macro, escriba el texto que desee en el cuadro Descripción.

2. Haga clic en Aceptar para iniciar la grabación.

3. Realice las acciones que desee grabar.

4. En la ficha Programador, en el grupo Código, haga clic en Detener grabación.

Sugerencia También puede hacer clic en Detener grabación en el lado izquierdo de la barra de estado.
EJERCICIOS DE APLICACIÓN

  Supongamos que todos los días tengo que generar una lista con el movimiento de un comercio de
  computadoras, para organizar los datos que iremos ingresando, es conveniente escribir los
  encabezados de cada columna, supongamos que estos encabezados son


 y quiero que estén como se ve en la figura de arriba, también quiero que estos encabezados aparezcan
 automáticamente todas las mañanas(al apretar un botón por ejemplo). Como no se nada de programación VBA voy a
 utilizar la grabadora de macros. Hay tres formas de poner en funcionamiento la grabadora de macros:


                                                        de cualquiera de estas dos formas aparece el cuadro de
1 Vamos a la pestaña Vista y en la sección Macros       dialogo Grabar Macro
desplegamos el submenú Macros y dentro de este
submenú seleccionamos la opción Grabar macro




 Pulsando el botón que se encuentra en la parte
 inferior izquierda de la pantalla de Excel( barra de
 estado)

                                                           donde podemos dar un nombre a la macro, sin dejar
                                                           espacios en blanco.
EJERCICIOS DE APLICACIÓN
                                             En Método abreviado: elegimos una combinación de la tecla CTRL + "una
                                             tecla del teclado", para ejecutar la macro, cuidando de no poner una
                                             combinación utilizada por Excel en alguno de sus atajos.
                                             En Guardar macro en: podemos elegir guardar la macro en el libro activo,
                                             en el libro de macros personal o en otro libro.
                                             En Descripción: podemos describir que hace de la macro o cualquier otro
                                             comentario.

                                             Finalmente pulsamos en aceptar y el botón que estaba en la barra de
                                             estado se transforma en el que está marcado por la flecha en la figura,
                                             comenzando la grabación.



En estas circunstancias, empezando por una celda cualquiera vamos luego a la celda A1, escribimos los
encabezados con mayúsculas los centramos, hacemos los recuadros correspondientes y detenemos la grabación (
no olvidarse), esto va a generar un código VBA en forma automática

Para que la macro haga su tarea, se puede:

utilizar el método abreviado, que en nuestro caso es CTRL+
r.
Ir a las pestaña Programador, sección Código y luego pulsar
en Macros
EJERCICIOS DE APLICACIÓN

luego aparece el cuadro de diálogo Macro, donde aparece la
macro creada, para luego apretar el botón ejecutar



También con este cuadro de diálogo podemos eliminar
macros.
3. La tercera manera de que una macro grabada se
manifieste, es creando un botón.
Para crear un botón vamos a la pestaña Programador,
sección controles y luego pulsamos en el icono Insertar




En los Controles de formulario pulsando donde señala la
flecha aparece un puntero en forma de cruz que nos
permite colocar el botón en un lugar cualquiera y
automáticamente aparece la ventana Asignar macro donde
se puede seleccionar la macro a la que le queremos asignar
el botón
EJERCICIOS DE APLICACIÓN

aceptamos y le damos un nombre; en nuestro caso
podría ser Encabezados.




Veremos que cuando el mouse pasa por el botón,
este se transforma en una mano, luego hacemos clic
y se dispara la macro con el resultado esperado
Practica I
Genera las siguientes Macros:
Grabe una Macro que se active con Control + b y que esta macro permita abrir
un archivo.
Grabe una Macro que inserte una tabla con datos.
Grabe una Macro que cree un nuevo archivo.
Grabe una Macro que ordene alfabéticamente una lista de nombres.
Grabe una Macro que imprima un documento.
CODIGOS DE UNA MACRO DE EXCEL

Para observar los códigos de una macro debemos seguir los pasos:

1. En primer lugar seleccione la celda B5 antes de empezar la grabación de la Macro, se
visualiza:
2. Presione el Botón Grabar Macro del grupo Código MS Excel muestra el cuadro de
 Dialogo Grabar Macro:


3. Ingrese un nombre de la macro por ejemplo saludo

4. En la opción Método Abreviado escriba la letra s, por lo tanto la
macro se llamara con Control + s

5. En Guardar macro en: Seleccione en el lugar en donde desea
guardar la macro, por ejemplo Este libro.

6. En Descripción puede agregar una descripción de lo que hace la
macro, este punto es opcional. Solo le sirve para que usted
recuerde acerca de lo que hace la macro, pues este código no es
interpretado por el compilador.

7. Presione el botón Aceptar. Excel inicia la grabación del la Macro

8. Trasládese a la celda A1 y escriba Hola amiguitos, después
presione Enter para aceptar el valor en la celda.

9. Pare la grabación de la macro presionando el botón Detener
Grabación del grupo Código. Excel ha grabado los pasos y ha
generado un código.
10. Para visualizar el código generado, presione la tecla Alt + la tecla de función
 F11(Alt + F11), o de un clic derecho en la hoja de cálculo:




11. Seleccione la opción Ver código. También puede acceder al grupo Código, al dar
clic en la opción Visual Basic
12. Excel nos traslada al Editor de Visual Basic. Se visualiza:




13. Active los siguientes cuadros o ventanas:
• De clic en el Menú Ver y elija la opción Explorador de Proyectos
• De clic en el Menú Ver y elija la opción Ventana Propiedades
14. Del cuadro Proyecto de doble clic en Módulos o simplemente presione el signo de + que
    aparece en la opción Módulos. Se activara debajo de Módulos la Opción Modulo1.
15. De doble clic en Modulo1. Se mostrara en el Editor de Visual Basic el código de la macro que
    grabamos de la siguiente forma:
15. De doble clic en Modulo1. Se mostrara en el Editor de Visual Basic el código de la
macro que           grabamos de la siguiente forma:

Sub saludo()
'
' saludo Macro
' Mi primera macro
' Autor:
' Acceso directo: CTRL+s
‘
 Range("A1").Select
ActiveCell.FormulaR1C1 = "Hola amiguitos"
End Sub
16. A continuación se da una explicación de lo que ha hecho Excel:
• Sub y End Sub indican el inicio y el final del procedimiento de la macro saludo • Todo lo que
aparece con un apóstrofe ´ indica que no se tomara en cuenta que es solo texto o comentarios
y ese texto aparece en 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 = "Hola amiguitos" Esto indica que se escribirá en la celda en que se
encuentra el valor de texto Hola amiguitos. 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. Para comprender alteraremos el código dentro del editor de Visual Basic.

Sub saludo()
         ' saludo Macro
         ' Mi primera macro
         ' Autor: Patricia Acosta
         ' Acceso directo: CTRL+s
         Range("A1").Select
         ActiveCell.FormulaR1C1 = "Hola amiguitos"
         Range("B1").Select
         ActiveCell.FormulaR1C1 = "Bienvenidos al curso de Excel"
End Sub
17. Al alterar el código y cuando regrese a Excel y ejecute la macro con Control + s hará
lo siguiente:

Al alterar el código y cuando regrese a Excel y ejecute la macro con Control + s hará

En A1 escribirá Hola amiguitos
En B1 escribirá Bienvenidos al seminario de Excel.
Se visualiza:
Sub saludos()
' saludo Macro
' Mi primera macro
' Autor: Patricia Acosta
' Acceso directo: CTRL+s
'
Range("A1").Select
ActiveCell.FormulaR1C1 = "Hola amiguitos" '
Range("B1").Select ActiveCell.FormulaR1C1 = "Bienvenidos al seminario de Excel"
End
End Sub
Al alterar el código y cuando regrese a Excel y ejecute la macro con Control + s hará: En
A1 escribirá Hola amiguitos.
En B1 escribirá Bienvenidos al seminario de Excel.
PROGRAMACION VBA PARA EXCEL


Si bien la grabadora de macros es muy útil y genera un código siempre correcto, tiene
dos desventajas:

1. Genera mas código que el necesario.
2. Sólo puede hacer macros con instrucciones secuenciales y sin nada de lógica, o sea
    que no pueden tomar decisiones ante un evento.
Ambas desventajas se pueden solucionar con la programación VBA que quiere decir
programación visual basic para aplicaciones, lo lamento pero aquí no tenemos mas
remedio que aprender a programar y eso es lo que van a ir aprendiendo en este
apartado.
VBA es una programación que está íntimamente relacionada con los libros y las hojas de
cálculo y para esto Excel cuenta con un editor de programación donde se pone el código,
a este se puede acceder, en Excel 2007, yendo a la pestaña programador y luego a la
sección código donde hacemos clic en Visual Basic
Escribamos el valor 2007 en la elda D8
las macros que se escriban aquí,
estarán relacionadas con la Hoja1.

Comencemos por lo mas simple y
escribamos una macro que seleccione la
celda B5 de la Hoja1 del libro VBAProject
(Libro2)                                    y si lo queremos borrar
En la programación VBA se trabaja con OBJETOS ( Hojas, celdas, Rangos, etc) que como todo objeto,
tiene propiedades, por ejemplo el objeto celda pude tener la propiedad de alto, ancho, estar
seleccionada, tener un valor, o no tener ninguno, etc
En los códigos que hemos escrito tenemos los objetos Range("B5") ( celda B5) con la propiedad de
estar seleccionada y el objeto Range("D8") ( celda D8) con la propiedad de tener un número (2007) y
después estar vacía.

CODIGOS MAS SIMPLES PARA EMPEZAR
1-Seleccionar una Celda
Range("A1").Select
2-Escribir en la celda que está seleccionada en el momento actual
Activecell.FormulaR1C1="Pedro"
la combinación los códigos 1 y 2 es equivalente a esta sola línea:
Range("A1").Value=" pedro"
El uso de FormulaR1C1 sera explicado mas adelante
3-Letra Negrita
Selection.Font.Bold = True
4-Letra Cursiva
Selection.Font.Italic = True
5-Letra Subrayada
Selection.Font.Underline = xlUnderlineStyleSingle
6-Centrar Texto
With Selection                           11-Copiar
.HorizontalAlignment = xlCenter          Selection.Copy
.VerticalAlignment = xlBottom            12-Pegar
End With                                 ActiveSheet.Paste
7-Alinear a la izquierda                 13-Cortar
With Selection                           Selection.Cut
         .HorizontalAlignment = xlLeft   14-Ordenar Ascendente
End With                                 Selection.Sort Key1:=Range("A1"),
8-Alinear a la Derecha                   Order1:=xlAscending, Header:=xlGuess, _
With Selection                           OrderCustom:=1, MatchCase:=False,
       .HorizontalAlignment = xlRight    Orientation:=xlTopToBottom
End With                                 15-Orden Descendente
9-Tipo de Letra(Fuente)                  Selection.Sort Key1:=Range("A1"),
With Selection                           Order1:=xlDescending, Header:=xlGuess, _
.Font .Name = "Arial"                    OrderCustom:=1, MatchCase:=False,
End With                                 Orientation:=xlTopToBottom
10-Tamaño de Letra(Tamaño de Fuente)
With Selection.Font .Size = 12
End With
16-Buscar
Cells.Find(What:="César", After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart,
SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False).Activate
17-Insertar Fila
Selection.EntireRow.Insert
18-Eliminar Fila
Selection.EntireRow.Delete
19-Insertar Columna
Selection.EntireColumn.Insert
20-Eliminar Columna
Selection.EntireColumn.Delete
21-Abrir un Libro
Workbooks.Open Filename:="C:Mis documentosTablas dinamicas.xls"
22-Grabar un Libro
ActiveWorkbook.SaveAs Filename:="C:Mis documentostablas.xls", FileFormat _ :=xlNormal,
Password:="", WriteResPassword:="", ReadOnlyRecommended:= _ False, CreateBackup:=False
SIGNIFICADO DE LA FORMULA R1C1
La FORMULA R1C1 se emplea para colocar el resultado de una línea de código en la celda que
actualmente está activa.
Veamos el siguiente caso
                                           supongamos que queremos sumar los números de la
                                           columna D y que el resultado aparezca en la celda F6
                                           que es la que está seleccionada, el código que se
                                           debería escribir es el siguiente




    El paréntesis destacado en rojo tiene por objetivo cubrir el tango donde están los números a sumar,
    o sea, desplazarme 2 columnas a la izquierda [-2] con 5 y 2 filas hacia arriba es decir
Estructura de iteración Wile - Wend
  En este caso sumaremos una cantidad indefinida de números naturales los que introducimos en la
  columna "D" empezando por la "D1" y finalizando con la introducción del Nº 283226 como se ve en la
  figura




1- Siempre se empieza con Sub seguida del nombre de la macro y 2 paréntesis (Sum()).
2- Seleccionamos la celda superior. "D1".
3- Asignamos a la variable “sum” (que es en la que quedará contenido el resultado) el valor de la celda superior.
4- Esta línea es la condición para entrar o salir del While y quiere decir "mientras la celda activa no este vacía",
5- Aquí ya entramos en el While donde hay 2 líneas que se repiten hasta que la condición no se cumpla.
6- La primera línea dentro del While hace bajar una posición la celda seleccionada, de esta forma podemos acceder a su
contenido y la segunda agrega este contenido a la variable "sum".
7-Con Wend salimos o volvemos a entrar al ciclo según se cumpla o no la condición
8- Una vez que salimos del ciclo colocamos el resultado queda en una celda activa.
9-Tanbien mostramos el resultado mediante un MsgBox (caja de mensajes)
10- Con esta línea se cierra el programa
Estructura de decisión If - Then - Else
La estructura de decisión se llama así pues puede, luego de evaluar una condición, ejecutar un bloque
de código u otro.

1- Comparar 2 números ubicados en 2 celdas, y responder, en una tercera celda, si son iguales o no
Compararemos los Nº 59 y 63 ubicados en las celdas D1 y E1 respectivamente




      1-Título.
      2-Si el valor del Nº que está en la celda "D1" es igual al que está en la celda "E1" , entonces
      se ejercita el código de la línea 3.
      3-Se coloca en la celda "D4" el texto "Los valores de D1 y E1 son iguales"..
      4-Sino se da la condición de la línea 2 se ejecuta el código de la línea 5.
      5 -Se coloca en la celda "D4" el texto "D1 es distinto que E1".
      6-Se cierra el If.
      7-Se cierra el Sub
Estructura de desición Select-Case
La estructura de decisión If-Then-Else puede anidarse y como este anidamiento se puede repetir tantas veces como
el problema lo exija, a veces el código suele hacerse confuso y frecuentemente da lugar a errores, en estos casos se
puede recurrir a la estructura de decisión Select-Case.




La utilidad esencial de esta estructura se manifiesta cuando los casos que se evalúan son mas
numerosos como veremos en el siguiente ejemplo.
Introducir en una celda la nota de un alumno y en otra una leyenda que diga si esta aplazado,
aprobado y en caso de estar aprobado si su nota fue buena, muy buena, distinguida o sobresaliente,
teniendo en cuenta que:
Estructura de decisión Select-Case
Aplazado= 1,2,3
Aprobado= 4,5
Bueno= 6,7
Muy bueno= 8
Distinguido= 9
Sobresaliente= 10
se puede responder a estas preguntas aplicando este código
CREANDO FORMULARIOS Y PROGRAMÁNDOLOS
Ahora aprenderemos a dominar lo máximo de Excel que es crear formularios y programarlos, bueno un
formulario es una ventana que se programa por medio de controles y estos controles responden a
sucesos que nosotros programamos. Todo esto se encuentra dentro de Visual Basic.




                                                          También cuando de clic en el
                                                          Formulario USERFORM1 se debe de
                                                          activar el Cuadro de Herramientas, si
                                                          no se activa de clic en el Menú Ver y
                                                          elija   la    opción     Cuadro   de
                                                          Herramientas.
                                                     Elija del Cuadro de Herramientas el Control
                                                     Etiqueta el que tiene la A y Arrastre dibujando
                                                     en el Formulario USERFORM1 la etiqueta.
                                                     Quedara el nombre Label1, después de un clic
                                                     en la etiqueta dibujada y podrá modificar el
                                                     nombre de adentro y pondremos ahí Nombre. Si
                                                     por error da doble clic en la etiqueta y lo manda
                                                     a la pantalla de programación de la etiqueta,
                                                     solo de doble clic en UserForm1 que se
                                                     encuentra en el Explorador de Proyecto.
CREANDO FORMULARIOS Y PROGRAMÁNDOLOS




              Ahora de doble clic sobre el control
              Textbox1 para programarlo y después
              inserte el siguiente código:




Private Sub TextBox1_Change()
Range("A9").Select ActiveCell.FormulaR1C1 =     Esto indica que se valla a A9 y escriba lo
TextBox1 End Sub                                que hay en el Textbox1
CREANDO FORMULARIOS Y PROGRAMÁNDOLOS


Private Sub TextBox2_Change()
Range("B9").Select
ActiveCell.FormulaR1C1 = TextBox2
End Sub

Private Sub TextBox3_Change()
     Range("C9").Select ActiveCell.FormulaR1C1 = TextBox2
End Sub

 Private Sub CommandButton1_Click()
   ‘inserta un renglón
   Selection.EntireRow.Insert
   ‘Empty Limpia Los Textbox
   TextBox1 = Empty
   TextBox2 = Empty
  TextBox3 = Empty
  ‘Textbox1.SetFocus Envía el cursor al Textbox1 para volver a capturar los datos
  TextBox1.SetFocus
 End Sub
TRABAJANDO CON FORMULAS

                                       Private Sub CommandButton1_Click()
                                        Selection.EntireRow.Insert
                                        TextBox1 = Empty
                                       TextBox2 = Empty
                                       TextBox3 = Empty
                                       TextBox1.SetFocus
                                       End Sub

Private Sub TextBox1_Change() Range("A9").Select
ActiveCell.FormulaR1C1 = TextBox1
End Sub


Private Sub TextBox2_Change()                                     Private Sub TextBox3_Change()
Range("B9").Select                                                Range("C9").Select
ActiveCell.FormulaR1C1 = TextBox2                                 ActiveCell.FormulaR1C1 = TextBox3
‘ aquí se crea la Fórmula                                         End Sub
TextBox3 = Val(TextBox2) * 365
 ‘El Textbox3 guardara el total de la multiplicación del Textbox2 por
365
‘El Comando Val permite convertir un valor de Texto a un Valor
Numérico
‘Esto se debe a que los Textbox no son Numéricos y debemos de
Convertirlos
End Sub
Macros

Más contenido relacionado

La actualidad más candente (17)

Funciones y macros con excel
Funciones y macros con excelFunciones y macros con excel
Funciones y macros con excel
 
Uso de macros en excel
Uso de macros en excelUso de macros en excel
Uso de macros en excel
 
Apuntes macros excel
Apuntes  macros excelApuntes  macros excel
Apuntes macros excel
 
Macros
MacrosMacros
Macros
 
Iniciacion macros
Iniciacion macrosIniciacion macros
Iniciacion macros
 
Macros en excel
Macros en excelMacros en excel
Macros en excel
 
Creando macros
Creando macrosCreando macros
Creando macros
 
Taller 1 macros excel renee gonzalez martinez
Taller 1 macros excel renee gonzalez martinezTaller 1 macros excel renee gonzalez martinez
Taller 1 macros excel renee gonzalez martinez
 
Macros excel ok
Macros excel  okMacros excel  ok
Macros excel ok
 
Programación con visual basic para aplicaciones en excel programación pura_c...
Programación con visual basic para aplicaciones en excel programación  pura_c...Programación con visual basic para aplicaciones en excel programación  pura_c...
Programación con visual basic para aplicaciones en excel programación pura_c...
 
Manejo de macros[1]
Manejo de macros[1]Manejo de macros[1]
Manejo de macros[1]
 
Macros en Excel
Macros en ExcelMacros en Excel
Macros en Excel
 
Compilacion macros
Compilacion macrosCompilacion macros
Compilacion macros
 
Creacion de macros
Creacion de macrosCreacion de macros
Creacion de macros
 
Notas macros excel
Notas macros excelNotas macros excel
Notas macros excel
 
Manual de macros
Manual de macrosManual de macros
Manual de macros
 
Macros y VBA tema 5
Macros y VBA tema 5Macros y VBA tema 5
Macros y VBA tema 5
 

Destacado (10)

07 funciones
07 funciones07 funciones
07 funciones
 
Tutorial vba ispt Excel 2010 elbragao69 IPN Prof. Carlos Montiel R
Tutorial vba ispt Excel 2010 elbragao69 IPN Prof. Carlos Montiel RTutorial vba ispt Excel 2010 elbragao69 IPN Prof. Carlos Montiel R
Tutorial vba ispt Excel 2010 elbragao69 IPN Prof. Carlos Montiel R
 
Convoca Logo Playera 1
Convoca Logo Playera  1Convoca Logo Playera  1
Convoca Logo Playera 1
 
Macros
MacrosMacros
Macros
 
Presentacion 2 estructuras de control web renee gonzalez
Presentacion 2 estructuras de control web renee gonzalezPresentacion 2 estructuras de control web renee gonzalez
Presentacion 2 estructuras de control web renee gonzalez
 
Macros test de seleccion multiple
Macros    test de seleccion multipleMacros    test de seleccion multiple
Macros test de seleccion multiple
 
Ofimatica
OfimaticaOfimatica
Ofimatica
 
Manual de-macros-excel
Manual de-macros-excel  Manual de-macros-excel
Manual de-macros-excel
 
Macros de excel
Macros de excelMacros de excel
Macros de excel
 
Macros, grupo 1
Macros, grupo 1Macros, grupo 1
Macros, grupo 1
 

Similar a Macros (20)

Macros
MacrosMacros
Macros
 
Macro en excel
Macro en excelMacro en excel
Macro en excel
 
Macros
MacrosMacros
Macros
 
Guia 8 macros
Guia 8 macrosGuia 8 macros
Guia 8 macros
 
Macros
MacrosMacros
Macros
 
Macros parte i
Macros parte iMacros parte i
Macros parte i
 
Taller macro
Taller macroTaller macro
Taller macro
 
Macrosjosue9rg
Macrosjosue9rgMacrosjosue9rg
Macrosjosue9rg
 
Macros, jazmin, freddy
Macros, jazmin, freddyMacros, jazmin, freddy
Macros, jazmin, freddy
 
Macros
MacrosMacros
Macros
 
Taller excel normas APA
Taller excel normas APATaller excel normas APA
Taller excel normas APA
 
Macros en excel
Macros en excelMacros en excel
Macros en excel
 
Teoria macros
Teoria macrosTeoria macros
Teoria macros
 
Macros en excel taller
Macros en excel tallerMacros en excel taller
Macros en excel taller
 
Macros en excel taller
Macros en excel tallerMacros en excel taller
Macros en excel taller
 
Macros
Macros Macros
Macros
 
Macros
MacrosMacros
Macros
 
Macros
MacrosMacros
Macros
 
Semana 15
Semana 15Semana 15
Semana 15
 
Tecnologia
TecnologiaTecnologia
Tecnologia
 

Más de Cesar Oswaldo Osorio Agualongo (20)

Aprendizaje de Lenguaje de Programación Python
Aprendizaje de Lenguaje de Programación PythonAprendizaje de Lenguaje de Programación Python
Aprendizaje de Lenguaje de Programación Python
 
Notas 2 do parcial
Notas 2 do parcialNotas 2 do parcial
Notas 2 do parcial
 
Repaso excel
Repaso excelRepaso excel
Repaso excel
 
Notas 2490
Notas 2490Notas 2490
Notas 2490
 
Notas 2625
Notas 2625Notas 2625
Notas 2625
 
Material iii parcial
Material iii parcialMaterial iii parcial
Material iii parcial
 
Unidad 2 curso c
Unidad 2 curso cUnidad 2 curso c
Unidad 2 curso c
 
Parte i curso c
Parte i curso cParte i curso c
Parte i curso c
 
Punteros y funciones
Punteros y funciones Punteros y funciones
Punteros y funciones
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Memoria dinamica
Memoria dinamicaMemoria dinamica
Memoria dinamica
 
Material estudio c
Material estudio cMaterial estudio c
Material estudio c
 
Estructuras en c++
Estructuras en c++Estructuras en c++
Estructuras en c++
 
Punteros presentacion
Punteros presentacionPunteros presentacion
Punteros presentacion
 
Practica 6 manejo de archivos v1
Practica 6 manejo de archivos v1Practica 6 manejo de archivos v1
Practica 6 manejo de archivos v1
 
2do parcial c
2do parcial c2do parcial c
2do parcial c
 
Estructuras en c++
Estructuras en c++Estructuras en c++
Estructuras en c++
 
Funciones recursivas
Funciones recursivasFunciones recursivas
Funciones recursivas
 
Punteros y funciones abril agosto 2016
Punteros y funciones abril agosto 2016Punteros y funciones abril agosto 2016
Punteros y funciones abril agosto 2016
 
Programacion semanal programacion i
Programacion semanal programacion iProgramacion semanal programacion i
Programacion semanal programacion i
 

Macros

  • 2. MACROS Cuando trabajamos con un libro personalizado, es decir, que nos hemos definido con una serie de características específicas como puedan ser el tipo de letra, el color de ciertas celdas, los formatos de los cálculos y características similares, perdemos mucho tiempo en formatear todo el libro si disponemos de muchas hojas. Con las macros lo que se pretende es automatizar varias tareas y fusionarlas en una sola, añadiendo por ejemplo un botón en nuestro libro que al pulsar sobre él realice todas esas tareas.
  • 3. GRABAR UNA MACRO La forma más fácil e intuitiva de crear macros es crearlas mediante el grabador de macros del que dispone Excel. Este grabador de macros te permite grabar las acciones deseadas que posteriormente las traduce a instrucciones en VBA, las cuales podemos modificar posteriormente si tenemos conocimientos de programación. Cuando grabe una macro, la grabadora de macros graba todos los pasos necesarios para completar las acciones que desea grabar. Para grabar una macro debemos seguir los siguientes pasos: Acceder a la pestaña Vista y despliega el submenú Macros Seleccionar la opción Grabar macro... Además de esta opción en el menú podemos encontrar las siguientes opciones: Ver Macros... Donde accedemos a un listado de las macros creadas en ese libro. Usar referencias relativas - Con esta opción utilizaremos referencias relativas para que las macros se graben con acciones relativas a la celda inicial seleccionada.
  • 4. Antes de realizar una Macro es muy importante hablar sobre sus seguridades. Se puede grabar las macros desde la ficha Programador, si no está disponible, haga lo siguiente para mostrarla: Haga clic en el Botón Microsoft Office y, a continuación, haga clic en Opciones de Excel. Opción Más frecuentes Active con un visto la opción Como se visualiza: De clic en el Botón Aceptar. Se visualiza la pestaña Programador que contiene:
  • 5. El grupo Código Visual Basic y Macros El grupo Controles El grupo XML El grupo Modificar
  • 6. SEGURIDAD EN MACROS Para establecer el nivel de seguridad de manera que estén habilitadas temporalmente todas las macros, haga lo siguiente: En la ficha Programador, en el grupo Código, haga clic en Seguridad de macros. Se visualiza: En Configuración de macros, haga clic en Habilitar todas las macros (no recomendado; puede ejecutarse código posiblemente peligroso) y, a continuación, haga clic en Aceptar. Nota Para ayudar a evitar que se ejecute código potencialmente peligroso, recomendamos que vuelva a cualquiera de las configuraciones que deshabilitan todas las macros cuando termine de trabajar con las macros.
  • 7. En la ficha Programador, en el grupo Código, haga clic en Grabar macro. En el cuadro Nombre de la macro, escriba un nombre para la macro. Nota El primer carácter del nombre de la macro debe ser una letra. Los caracteres siguientes pueden ser letras, números o caracteres de subrayado. No se permiten espacios en un nombre de macro, caracteres especiales ni palabras reservadas; puede utilizarse un carácter de subrayado como separador de palabras. Si utiliza un nombre de macro que también es una referencia de celda, puede aparecer un mensaje indicando que el nombre de la macro no es válido. En la lista Guardar macro en, seleccione el libro en el que desea almacenar la macro. Sugerencia Si desea que la macro esté disponible siempre que utilice Excel, seleccione Libro de macros personal. Cuando se selecciona Libro de macros personal, Excel crea un libro oculto de macros personal (Personal.xlsb),. En Microsoft Windows XP, este libro se guarda en la carpeta C:Documents and Settingsnombre de usuarioDatos de programaMicrosoftExcelXLStart para que se pueda cargar automáticamente cada vez que se inicia Excel. En Microsoft Windows Vista, este libro se guarda en la carpeta C:Usuariosnombre de usuarioDatos de programaMicrosoftExcelXLStart. Si desea que se ejecute automáticamente una macro del libro de macros personal en otro libro, también debe guardar ese libro en la carpeta XLStart, de forma que ambos libros se abran cuando se inicie Excel. 1. Para incluir una descripción de la macro, escriba el texto que desee en el cuadro Descripción. 2. Haga clic en Aceptar para iniciar la grabación. 3. Realice las acciones que desee grabar. 4. En la ficha Programador, en el grupo Código, haga clic en Detener grabación. Sugerencia También puede hacer clic en Detener grabación en el lado izquierdo de la barra de estado.
  • 8. EJERCICIOS DE APLICACIÓN Supongamos que todos los días tengo que generar una lista con el movimiento de un comercio de computadoras, para organizar los datos que iremos ingresando, es conveniente escribir los encabezados de cada columna, supongamos que estos encabezados son y quiero que estén como se ve en la figura de arriba, también quiero que estos encabezados aparezcan automáticamente todas las mañanas(al apretar un botón por ejemplo). Como no se nada de programación VBA voy a utilizar la grabadora de macros. Hay tres formas de poner en funcionamiento la grabadora de macros: de cualquiera de estas dos formas aparece el cuadro de 1 Vamos a la pestaña Vista y en la sección Macros dialogo Grabar Macro desplegamos el submenú Macros y dentro de este submenú seleccionamos la opción Grabar macro Pulsando el botón que se encuentra en la parte inferior izquierda de la pantalla de Excel( barra de estado) donde podemos dar un nombre a la macro, sin dejar espacios en blanco.
  • 9. EJERCICIOS DE APLICACIÓN En Método abreviado: elegimos una combinación de la tecla CTRL + "una tecla del teclado", para ejecutar la macro, cuidando de no poner una combinación utilizada por Excel en alguno de sus atajos. En Guardar macro en: podemos elegir guardar la macro en el libro activo, en el libro de macros personal o en otro libro. En Descripción: podemos describir que hace de la macro o cualquier otro comentario. Finalmente pulsamos en aceptar y el botón que estaba en la barra de estado se transforma en el que está marcado por la flecha en la figura, comenzando la grabación. En estas circunstancias, empezando por una celda cualquiera vamos luego a la celda A1, escribimos los encabezados con mayúsculas los centramos, hacemos los recuadros correspondientes y detenemos la grabación ( no olvidarse), esto va a generar un código VBA en forma automática Para que la macro haga su tarea, se puede: utilizar el método abreviado, que en nuestro caso es CTRL+ r. Ir a las pestaña Programador, sección Código y luego pulsar en Macros
  • 10. EJERCICIOS DE APLICACIÓN luego aparece el cuadro de diálogo Macro, donde aparece la macro creada, para luego apretar el botón ejecutar También con este cuadro de diálogo podemos eliminar macros. 3. La tercera manera de que una macro grabada se manifieste, es creando un botón. Para crear un botón vamos a la pestaña Programador, sección controles y luego pulsamos en el icono Insertar En los Controles de formulario pulsando donde señala la flecha aparece un puntero en forma de cruz que nos permite colocar el botón en un lugar cualquiera y automáticamente aparece la ventana Asignar macro donde se puede seleccionar la macro a la que le queremos asignar el botón
  • 11. EJERCICIOS DE APLICACIÓN aceptamos y le damos un nombre; en nuestro caso podría ser Encabezados. Veremos que cuando el mouse pasa por el botón, este se transforma en una mano, luego hacemos clic y se dispara la macro con el resultado esperado
  • 12. Practica I Genera las siguientes Macros: Grabe una Macro que se active con Control + b y que esta macro permita abrir un archivo. Grabe una Macro que inserte una tabla con datos. Grabe una Macro que cree un nuevo archivo. Grabe una Macro que ordene alfabéticamente una lista de nombres. Grabe una Macro que imprima un documento.
  • 13. CODIGOS DE UNA MACRO DE EXCEL Para observar los códigos de una macro debemos seguir los pasos: 1. En primer lugar seleccione la celda B5 antes de empezar la grabación de la Macro, se visualiza:
  • 14. 2. Presione el Botón Grabar Macro del grupo Código MS Excel muestra el cuadro de Dialogo Grabar Macro: 3. Ingrese un nombre de la macro por ejemplo saludo 4. En la opción Método Abreviado escriba la letra s, por lo tanto la macro se llamara con Control + s 5. En Guardar macro en: Seleccione en el lugar en donde desea guardar la macro, por ejemplo Este libro. 6. En Descripción puede agregar una descripción de lo que hace la macro, este punto es opcional. Solo le sirve para que usted recuerde acerca de lo que hace la macro, pues este código no es interpretado por el compilador. 7. Presione el botón Aceptar. Excel inicia la grabación del la Macro 8. Trasládese a la celda A1 y escriba Hola amiguitos, después presione Enter para aceptar el valor en la celda. 9. Pare la grabación de la macro presionando el botón Detener Grabación del grupo Código. Excel ha grabado los pasos y ha generado un código.
  • 15. 10. Para visualizar el código generado, presione la tecla Alt + la tecla de función F11(Alt + F11), o de un clic derecho en la hoja de cálculo: 11. Seleccione la opción Ver código. También puede acceder al grupo Código, al dar clic en la opción Visual Basic
  • 16. 12. Excel nos traslada al Editor de Visual Basic. Se visualiza: 13. Active los siguientes cuadros o ventanas: • De clic en el Menú Ver y elija la opción Explorador de Proyectos • De clic en el Menú Ver y elija la opción Ventana Propiedades 14. Del cuadro Proyecto de doble clic en Módulos o simplemente presione el signo de + que aparece en la opción Módulos. Se activara debajo de Módulos la Opción Modulo1. 15. De doble clic en Modulo1. Se mostrara en el Editor de Visual Basic el código de la macro que grabamos de la siguiente forma:
  • 17. 15. De doble clic en Modulo1. Se mostrara en el Editor de Visual Basic el código de la macro que grabamos de la siguiente forma: Sub saludo() ' ' saludo Macro ' Mi primera macro ' Autor: ' Acceso directo: CTRL+s ‘ Range("A1").Select ActiveCell.FormulaR1C1 = "Hola amiguitos" End Sub
  • 18. 16. A continuación se da una explicación de lo que ha hecho Excel: • Sub y End Sub indican el inicio y el final del procedimiento de la macro saludo • Todo lo que aparece con un apóstrofe ´ indica que no se tomara en cuenta que es solo texto o comentarios y ese texto aparece en 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 = "Hola amiguitos" Esto indica que se escribirá en la celda en que se encuentra el valor de texto Hola amiguitos. 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. Para comprender alteraremos el código dentro del editor de Visual Basic. Sub saludo() ' saludo Macro ' Mi primera macro ' Autor: Patricia Acosta ' Acceso directo: CTRL+s Range("A1").Select ActiveCell.FormulaR1C1 = "Hola amiguitos" Range("B1").Select ActiveCell.FormulaR1C1 = "Bienvenidos al curso de Excel" End Sub
  • 19. 17. Al alterar el código y cuando regrese a Excel y ejecute la macro con Control + s hará lo siguiente: Al alterar el código y cuando regrese a Excel y ejecute la macro con Control + s hará En A1 escribirá Hola amiguitos En B1 escribirá Bienvenidos al seminario de Excel. Se visualiza: Sub saludos() ' saludo Macro ' Mi primera macro ' Autor: Patricia Acosta ' Acceso directo: CTRL+s ' Range("A1").Select ActiveCell.FormulaR1C1 = "Hola amiguitos" ' Range("B1").Select ActiveCell.FormulaR1C1 = "Bienvenidos al seminario de Excel" End End Sub Al alterar el código y cuando regrese a Excel y ejecute la macro con Control + s hará: En A1 escribirá Hola amiguitos. En B1 escribirá Bienvenidos al seminario de Excel.
  • 20. PROGRAMACION VBA PARA EXCEL Si bien la grabadora de macros es muy útil y genera un código siempre correcto, tiene dos desventajas: 1. Genera mas código que el necesario. 2. Sólo puede hacer macros con instrucciones secuenciales y sin nada de lógica, o sea que no pueden tomar decisiones ante un evento. Ambas desventajas se pueden solucionar con la programación VBA que quiere decir programación visual basic para aplicaciones, lo lamento pero aquí no tenemos mas remedio que aprender a programar y eso es lo que van a ir aprendiendo en este apartado. VBA es una programación que está íntimamente relacionada con los libros y las hojas de cálculo y para esto Excel cuenta con un editor de programación donde se pone el código, a este se puede acceder, en Excel 2007, yendo a la pestaña programador y luego a la sección código donde hacemos clic en Visual Basic
  • 21. Escribamos el valor 2007 en la elda D8 las macros que se escriban aquí, estarán relacionadas con la Hoja1. Comencemos por lo mas simple y escribamos una macro que seleccione la celda B5 de la Hoja1 del libro VBAProject (Libro2) y si lo queremos borrar
  • 22. En la programación VBA se trabaja con OBJETOS ( Hojas, celdas, Rangos, etc) que como todo objeto, tiene propiedades, por ejemplo el objeto celda pude tener la propiedad de alto, ancho, estar seleccionada, tener un valor, o no tener ninguno, etc En los códigos que hemos escrito tenemos los objetos Range("B5") ( celda B5) con la propiedad de estar seleccionada y el objeto Range("D8") ( celda D8) con la propiedad de tener un número (2007) y después estar vacía. CODIGOS MAS SIMPLES PARA EMPEZAR 1-Seleccionar una Celda Range("A1").Select 2-Escribir en la celda que está seleccionada en el momento actual Activecell.FormulaR1C1="Pedro" la combinación los códigos 1 y 2 es equivalente a esta sola línea: Range("A1").Value=" pedro" El uso de FormulaR1C1 sera explicado mas adelante 3-Letra Negrita Selection.Font.Bold = True 4-Letra Cursiva Selection.Font.Italic = True 5-Letra Subrayada Selection.Font.Underline = xlUnderlineStyleSingle
  • 23. 6-Centrar Texto With Selection 11-Copiar .HorizontalAlignment = xlCenter Selection.Copy .VerticalAlignment = xlBottom 12-Pegar End With ActiveSheet.Paste 7-Alinear a la izquierda 13-Cortar With Selection Selection.Cut .HorizontalAlignment = xlLeft 14-Ordenar Ascendente End With Selection.Sort Key1:=Range("A1"), 8-Alinear a la Derecha Order1:=xlAscending, Header:=xlGuess, _ With Selection OrderCustom:=1, MatchCase:=False, .HorizontalAlignment = xlRight Orientation:=xlTopToBottom End With 15-Orden Descendente 9-Tipo de Letra(Fuente) Selection.Sort Key1:=Range("A1"), With Selection Order1:=xlDescending, Header:=xlGuess, _ .Font .Name = "Arial" OrderCustom:=1, MatchCase:=False, End With Orientation:=xlTopToBottom 10-Tamaño de Letra(Tamaño de Fuente) With Selection.Font .Size = 12 End With
  • 24. 16-Buscar Cells.Find(What:="César", After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False).Activate 17-Insertar Fila Selection.EntireRow.Insert 18-Eliminar Fila Selection.EntireRow.Delete 19-Insertar Columna Selection.EntireColumn.Insert 20-Eliminar Columna Selection.EntireColumn.Delete 21-Abrir un Libro Workbooks.Open Filename:="C:Mis documentosTablas dinamicas.xls" 22-Grabar un Libro ActiveWorkbook.SaveAs Filename:="C:Mis documentostablas.xls", FileFormat _ :=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:= _ False, CreateBackup:=False
  • 25. SIGNIFICADO DE LA FORMULA R1C1 La FORMULA R1C1 se emplea para colocar el resultado de una línea de código en la celda que actualmente está activa. Veamos el siguiente caso supongamos que queremos sumar los números de la columna D y que el resultado aparezca en la celda F6 que es la que está seleccionada, el código que se debería escribir es el siguiente El paréntesis destacado en rojo tiene por objetivo cubrir el tango donde están los números a sumar, o sea, desplazarme 2 columnas a la izquierda [-2] con 5 y 2 filas hacia arriba es decir
  • 26. Estructura de iteración Wile - Wend En este caso sumaremos una cantidad indefinida de números naturales los que introducimos en la columna "D" empezando por la "D1" y finalizando con la introducción del Nº 283226 como se ve en la figura 1- Siempre se empieza con Sub seguida del nombre de la macro y 2 paréntesis (Sum()). 2- Seleccionamos la celda superior. "D1". 3- Asignamos a la variable “sum” (que es en la que quedará contenido el resultado) el valor de la celda superior. 4- Esta línea es la condición para entrar o salir del While y quiere decir "mientras la celda activa no este vacía", 5- Aquí ya entramos en el While donde hay 2 líneas que se repiten hasta que la condición no se cumpla. 6- La primera línea dentro del While hace bajar una posición la celda seleccionada, de esta forma podemos acceder a su contenido y la segunda agrega este contenido a la variable "sum". 7-Con Wend salimos o volvemos a entrar al ciclo según se cumpla o no la condición 8- Una vez que salimos del ciclo colocamos el resultado queda en una celda activa. 9-Tanbien mostramos el resultado mediante un MsgBox (caja de mensajes) 10- Con esta línea se cierra el programa
  • 27. Estructura de decisión If - Then - Else La estructura de decisión se llama así pues puede, luego de evaluar una condición, ejecutar un bloque de código u otro. 1- Comparar 2 números ubicados en 2 celdas, y responder, en una tercera celda, si son iguales o no Compararemos los Nº 59 y 63 ubicados en las celdas D1 y E1 respectivamente 1-Título. 2-Si el valor del Nº que está en la celda "D1" es igual al que está en la celda "E1" , entonces se ejercita el código de la línea 3. 3-Se coloca en la celda "D4" el texto "Los valores de D1 y E1 son iguales".. 4-Sino se da la condición de la línea 2 se ejecuta el código de la línea 5. 5 -Se coloca en la celda "D4" el texto "D1 es distinto que E1". 6-Se cierra el If. 7-Se cierra el Sub
  • 28. Estructura de desición Select-Case La estructura de decisión If-Then-Else puede anidarse y como este anidamiento se puede repetir tantas veces como el problema lo exija, a veces el código suele hacerse confuso y frecuentemente da lugar a errores, en estos casos se puede recurrir a la estructura de decisión Select-Case. La utilidad esencial de esta estructura se manifiesta cuando los casos que se evalúan son mas numerosos como veremos en el siguiente ejemplo. Introducir en una celda la nota de un alumno y en otra una leyenda que diga si esta aplazado, aprobado y en caso de estar aprobado si su nota fue buena, muy buena, distinguida o sobresaliente, teniendo en cuenta que:
  • 29. Estructura de decisión Select-Case Aplazado= 1,2,3 Aprobado= 4,5 Bueno= 6,7 Muy bueno= 8 Distinguido= 9 Sobresaliente= 10 se puede responder a estas preguntas aplicando este código
  • 30. CREANDO FORMULARIOS Y PROGRAMÁNDOLOS Ahora aprenderemos a dominar lo máximo de Excel que es crear formularios y programarlos, bueno un formulario es una ventana que se programa por medio de controles y estos controles responden a sucesos que nosotros programamos. Todo esto se encuentra dentro de Visual Basic. También cuando de clic en el Formulario USERFORM1 se debe de activar el Cuadro de Herramientas, si no se activa de clic en el Menú Ver y elija la opción Cuadro de Herramientas. Elija del Cuadro de Herramientas el Control Etiqueta el que tiene la A y Arrastre dibujando en el Formulario USERFORM1 la etiqueta. Quedara el nombre Label1, después de un clic en la etiqueta dibujada y podrá modificar el nombre de adentro y pondremos ahí Nombre. Si por error da doble clic en la etiqueta y lo manda a la pantalla de programación de la etiqueta, solo de doble clic en UserForm1 que se encuentra en el Explorador de Proyecto.
  • 31. CREANDO FORMULARIOS Y PROGRAMÁNDOLOS Ahora de doble clic sobre el control Textbox1 para programarlo y después inserte el siguiente código: Private Sub TextBox1_Change() Range("A9").Select ActiveCell.FormulaR1C1 = Esto indica que se valla a A9 y escriba lo TextBox1 End Sub que hay en el Textbox1
  • 32. CREANDO FORMULARIOS Y PROGRAMÁNDOLOS Private Sub TextBox2_Change() Range("B9").Select ActiveCell.FormulaR1C1 = TextBox2 End Sub Private Sub TextBox3_Change() Range("C9").Select ActiveCell.FormulaR1C1 = TextBox2 End Sub Private Sub CommandButton1_Click() ‘inserta un renglón Selection.EntireRow.Insert ‘Empty Limpia Los Textbox TextBox1 = Empty TextBox2 = Empty TextBox3 = Empty ‘Textbox1.SetFocus Envía el cursor al Textbox1 para volver a capturar los datos TextBox1.SetFocus End Sub
  • 33. TRABAJANDO CON FORMULAS Private Sub CommandButton1_Click() Selection.EntireRow.Insert TextBox1 = Empty TextBox2 = Empty TextBox3 = Empty TextBox1.SetFocus End Sub Private Sub TextBox1_Change() Range("A9").Select ActiveCell.FormulaR1C1 = TextBox1 End Sub Private Sub TextBox2_Change() Private Sub TextBox3_Change() Range("B9").Select Range("C9").Select ActiveCell.FormulaR1C1 = TextBox2 ActiveCell.FormulaR1C1 = TextBox3 ‘ aquí se crea la Fórmula End Sub TextBox3 = Val(TextBox2) * 365 ‘El Textbox3 guardara el total de la multiplicación del Textbox2 por 365 ‘El Comando Val permite convertir un valor de Texto a un Valor Numérico ‘Esto se debe a que los Textbox no son Numéricos y debemos de Convertirlos End Sub