Está en la página 1de 22

UNIVERSIDAD DE EL SALVADOR

FACULTAD DE INGENIERIA Y ARQUITECTURA


ESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOS
MANEJO DE SOFTWARE PARA MICROCOMPUTADORAS
CICLO II-2016
GUIA DE LABORATORIO 8 - PRESENCIAL

Microsoft Excel 2016 Professional (Avanzado)


Entrega de gua en la Semana: del 27 de Septiembre al 1 de Octubre 2016
Objetivo:
Aprender a Planificar y Automatizar tareas repetitivas a travs de la aplicabilidad de la grabacin de macros.
Crear funciones definidas por el usuario en las macros de Excel.
Crear macros utilizando formularios y controles en VBA.
Conocer y trabajar parte de los objetos utilizados dentro de un formulario y sus eventos, programando estos ltimos para
que interacten entre s.
Indicaciones
Esta gua est diseada para ser desarrollada y entregada en hora de laboratorio en la semana 8, en base a las indicaciones
de entrega arriba sealadas.
Para tener derecho a la entrega de la gua de laboratorio 8, ser necesario asistir a su laboratorio como se ha establecido
en las guas presenciales, y entregar en el enlace creado para este fin. La entrega del archivo corresponde al desarrollo de
la gua de laboratorio completamente terminada. Si esta es entregada parcialmente, tendr una entrega parcial.
En la sesin de laboratorio, l Instructor revisar frente al estudiante los ejercicios de la gua y har preguntas al respecto
para corroborar que el estudiante la haya realizado. Como se ha establecido y realizado en las sesiones anteriores.

MACROS GRABADAS
INTRODUCCION
Las macros son pequeos programas que se ejecutan dentro de Excel y que ayudan a automatizar tareas comunes y repetitivas. Las macros
son una de las caractersticas ms potentes, aunque poco utilizadas. Usando macros, puede ahorrar muchas horas y aumentar la
productividad total.
Si se ejecuta con frecuencia una tarea en la hoja de clculo, sta se puede automatizar mediante una macro, donde se incorporan una serie
de comandos y funciones almacenados en un mdulo de Visual Basic que se ejecutan cuando sea necesario realizar la tarea.
Una macro se graba al guardar los comandos ejecutados y las opciones elegidas durante la tarea; de esta forma, cuando se ejecuta la macro,
los comandos se repiten en la secuencia original y la ejecucin se puede realizar tantas veces como lo requiera el usuario.
Antes de grabar una macro, debe planificar los pasos y los comandos que desea se ejecuten, esto es fundamental, pues si se comete algn
error mientras se graba, tambin se guardar ste. Aunque es posible editar las macros, es recomendable que la grabacin se realice sin
errores.
MACRO
Una macro es un conjunto de comandos que se almacena en un lugar especial de Excel de manera que estn siempre disponibles cuando los
necesites ejecutar. Estos comandos o instrucciones son guardadas dentro de un archivo de Excel para poder ser ejecutadas cuando lo
necesitemos.
Por ejemplo, si todas las maanas creas un reporte de ventas y en ese reporte siempre das el mismo formato a los textos, se podra crear
una macro para que lo haga automticamente por ti. Las macros se utilizan principalmente para eliminar la necesidad de repetir los pasos
de aquellas tareas que realizas una y otra vez.
Un lenguaje de programacin: Las macros se escriben en un lenguaje de computadora especial que es conocido como Visual Basic for
Applications (VBA). Este lenguaje permite acceder a prcticamente todas las funcionalidades de Excel y con ello tambin ampliar la
funcionalidad del programa. Como cualquier otro lenguaje de computadora debemos aprender a utilizar los comandos que nos ayudarn a
indicar a Excel lo que deseamos hacer con nuestros datos.

Microsoft Excel 2016 Professional

Pgina 1 de 22

Pero no te preocupes si no eres un programador de computadoras, Excel provee de


una herramienta especial que permite crear una macro sin necesidad de conocer los
detalles del lenguaje de programacin.
Aunque tambin si te introduces en el mundo de la programacin VBA pronto te
convertirs en buen programador de Excel. Vers que crear una macro en Excel no
es tan complicado y ser una manera fcil y rpida de eliminar esas tareas repetitivas
que todos los das te quitan minutos preciados de tu tiempo.
Aprender el lenguaje VBA no es nada complicado y se puede lograr fcilmente. Lo
que toma un poco ms de tiempo es pulir nuestras habilidades de programacin. Lo
que quiero decir con esto es que para ser un buen programador de macros debes dedicar tiempo
en resolver mltiples problemas en donde puedas llevar al lmite el lenguaje VBA.
Las Herramientas principales de una macro se encuentra en la pestaa Vista o bien desde la
pestaa Desarrollador. El primer cono muestra la lista de macro con las que se puede trabajar
(Alt+F8). El Segundo de ellos nos permite guardar en una macro los comandos que realiza para que
los pueda volver a ejecutar. El ltimo icono se refiere al uso de referencias relativas al grabar la
macro para que las macros se graben con acciones relativas a las celdas inicialmente seleccionadas.
Mostrar la Pestaa Desarrollador
Si quieres escribir una nueva macro o ejecutar una macro previamente creada, entonces debes habilitar la pestaa Desarrollador dentro de
la cinta de opciones. Para mostrar esta pestaa sigue los siguientes pasos:
PROCEDIMIENTO
1. Haz clic en la Pestaa Archivo y elige la seccin Opciones. Se mostrar el cuadro de dilogo Opciones de Excel donde debers seleccionar
la opcin Personalizar cinta de opciones.

2.
3.

En el panel de la derecha debers asegurarte de seleccionar la pestaa Desarrollador.


Acepta los cambios y la pestaa se mostrar en la cinta de opciones, que contiene los comandos necesarios para gestionar las Macros.

Microsoft Excel 2016 Professional

Pgina 2 de 22

Grupos de la Pestaa Desarrollador


A. El grupo Cdigo tienes los comandos necesarios para iniciar el Editor de Visual Basic donde se puede escribir directamente cdigo
VBA. Tambin nos permitir ver la lista de macros disponibles para poder ejecutarlas o eliminarlas. Y no podramos olvidar
mencionar que en este grupo se encuentra el comando Grabar macro el cual nos permite crear una macro sin necesidad de saber
sobre programacin en VBA.
B. El grupo Complementos nos permite administrar y habilitar complementos como el Solver.
C. El grupo Controles incluye funcionalidad para agregar controles especiales a las hojas de Excel como los controles de formulario
que son botones, casillas de verificacin, botones de opcin entre otros ms que sern de gran utilidad para ampliar la
funcionalidad de Excel.
D. El grupo XML permite importar datos de un archivo XML as como opciones tiles para codificar archivos XML. Finalmente, el grupo
Modificar solamente contiene el comando Panel de documentos.
Aunque pueden parecer intimidantes los comandos de la Pestaa Desarrollador con el paso del tiempo te irs familiarizando poco a poco
con cada uno de ellos.
ESTABLECER SEGURIDAD DE MACROS
La seguridad es un tema importante al hablar de macros en Excel. Si abres algn archivo que contenga una macro maliciosa puedes causar
algn tipo de dao al equipo. De manera predeterminada Excel no permite ejecutar macros automticamente.
Sin embargo, si ests creando tus propias macros y deseas remover esta proteccin porque sabes que no existe cdigo malicioso, entonces
puedes modificar la configuracin para habilitar todas las macros. Para hacerlo debes seguir los siguientes pasos.
1.
2.
3.

4.

A)
B)
C)
D)

Haz clic en la pestaa Archivo y


posteriormente en Opciones.
Dentro del cuadro de dilogo mostrado
selecciona la opcin Centro de confianza
Posteriormente pulsa el botn Configuracin
del centro de confianza... Se mostrar el
cuadro de dilogo Centro de confianza.
Dentro de la seccin Configuracin de
macros selecciona alguna de las opciones
disponibles.

Deshabilitar todas las macros sin notificacin. Deshabilita las macros y permite ejecutar solamente aquellas que estn almacenadas en
un lugar confiable. Los lugares confiables se configuran en la seccin Ubicaciones de confianza del mismo cuadro de dilogo.
Deshabilitar todas las macros con notificacin. Muestra una alerta de seguridad advirtiendo sobre la intencin de ejecutar una macro
de manera que se pueda decidir si se desea ejecutar. Esta es la opcin predeterminada de Excel.
Deshabilitar todas las macros excepto las firmadas digitalmente. Solamente se podrn ejecutar las macros que estn firmadas
digitalmente.
Habilitar todas las macros. Permite ejecutar todas las macros sin enviar alguna notificacin al usuario. Esta opcin es til si se ejecutan
mltiples macros totalmente confiables. Esta opcin es la que corre los mayores riesgos al ejecutar una macro de una fuente
desconocida.

Microsoft Excel 2016 Professional

Pgina 3 de 22

5.

Una vez seleccionada la opcin deseada se debe pulsar el botn Aceptar para hacer los cambios permanentes. Para nuestro caso lo
dejaremos como aparece por defecto seleccionado Deshabilitar todas las macros con notificacin. Si an no se encuentra as deber
cambiarlo como la muestra. Si por alguna razn al abrir un archivo con macro presenta algn problema debers de seleccionar Habilitar
todas las macros.

CREACIN DE UNA MACRO


Las macros se crean con el Editor de Visual Basic el cual nos permitir introducir el cdigo con las instrucciones que sern ejecutadas por la
macro.
Existe otro mtodo que es utilizar la Grabadora de macros la cual ir grabando todas las acciones que realicemos en Excel hasta que
detengamos la grabacin. Una vez grabada la macro podremos reproducir de nuevo las acciones con tan solo un clic.
Creacin de una macro
Puedes crear una macro utilizando el lenguaje de programacin VBA, pero el mtodo ms sencillo es utilizar la
grabadora de macros que guardar todos los pasos realizados para ejecutarlos posteriormente. Este ltimo mtodo
almacena cada accin que se realiza en Excel, por eso es conveniente planear con antelacin los pasos a seguir de
manera que no se realicen acciones innecesarias mientras se realiza la grabacin.
Ejercicio de Macros
Abra un libro de Excel y nmbrelo Macros1.xlsm, nombre la hoja1 como "macrogra". En ella crea una macro, tomando en consideracin
que se desea disear una tabla que se utiliza en una empresa mensualmente. Antes de continuar deber de verificar que no exista macro
alguna macro en el Libro de macros personal, de existir consulte a su instructor como eliminarla. Para continuar con la tabla resultante,
deber de cumplir con los criterios que se presenta a continuacin:
A. Nombre de la Macro: formato_tabla
B. Mtodo Abreviado: CTRL+a
C. Guardar macro en: Libro de macros personal
D. Descripcin: Macro que servir para dar formato a reporte mensual. Usted deber agregarle Comentario a la macro agregando la fecha
en que se cre la macro y quien lo desarrollo, en su caso colocara Su carnet y apellido. Para el caso de la muestra ser "Grabada en
Octubre por Ing. Luis Barrera (coloque su carnet)"
Resultado Esperado:
E. Planificacin de la macro:
1. Selecciona las celdas que se presentan en el siguiente cuadro y
Escriba el texto que se muestra a continuacin.
Celda
Texto a Incluir
A1
Reporte de ventas
A4
Concepto
B4
Unidades
C4
Precio
D4
Subtotal
C14
Total
2. Seleccin el rango del ttulo Rango de celdas de A1:D1
3. Coloca el texto (seleccionado en el paso 2) en el Centro de las
celdas
4. Realiza la combinacin de celdas a las celdas seleccionadas en el
paso 2
5. Aplicar formato de Negrita a la fuente del paso anterior
6. Selecciona el Tipo y tamao de la fuente: fuente Comic Sans MS
y Tamao 16.
7. Selecciona las celdas del rango de la tabla. La celda ser de
A4:D13 y la celda D14.
8. Aplica todos los bordes a las celdas seleccionada en el paso 7.
9. Selecciona de la fila y columna los ttulos de la tabla. Los rangos
de celda a seleccionar son de A4:D4, la celda D14 y el rango de celda de A5:A13.
10. Coloca Negritas a las celdas seleccionadas en el paso 9.
11. Seleccin el rango de celda de la fila de ttulos de A4:D4.
12. Coloca al texto en el Centro de las celdas seleccionadas en el paso 11.
13. Ahora Selecciona las columnas de precio y Subtotal, en el rango de celdas de C5:D13 y la celda D14
14. Aplica a las celdas seleccionadas en el paso 13 el formato de dato moneda.
15. Seleccione la celda D5 y Escribe la frmula =B5*C5.
16. Arrastra la celda D5 hasta la celda D13 (recuerde que es como copiar la formula hacia abajo)
17. En la celda D14 utiliza la funcin suma para calcular la suma de las celdas del rango D5:D13.
18. Cambia el ancho de la columna A a 20.29
19. Nuevamente selecciona de la fila y columna (encabezado de tabla) los rangos de celda de A4:D4, la celda D14 y el rango de celda de
A5:A13.
20. Aplica color de trama azul celeste a las celdas seleccionadas en el paso 19

Microsoft Excel 2016 Professional

Pgina 4 de 22

21. Selecciona la celda C14 y aplica negritas


Al terminar los pasos de la macro, en el libro se debe encontrar la Hoja resultante de la muestra de arriba, que se encuentra lista para ser
impreso. Antes de guardar asegrese de haber nombrado la hoja resultante como " macrogra".
PROCEDIMIENTO
1. Para utilizar la grabadora de macros debes ir a la pestaa Desarrollador y
seleccionar el comando Grabar macro.
2. Al pulsar el botn se mostrar el cuadro de dilogo Grabar macro. En el
cuadro de texto Nombre de la macro debers colocar el nombre que
identificar de manera nica a la macro que estamos por crear. Es importante
destacar que el primer carcter del nombre de la macro necesariamente
deber ser una letra, mientras el resto pueden ser letras, nmeros o
caracteres de subrayado; tambin se debe mencionar que no se permiten
espacios entre el nombre. Por ejemplo: mi_macro, miformato, macro2,
Macro_2. Utilice el carcter de subrayado (_) para sustituir los espacios. En
este caso le asignaremos como nombre a la macro "formato_tabla"
3. De manera opcional puedes asignar un mtodo abreviado de teclado a la
macro que va a grabar el cual permitir ejecutar la macro con la combinacin
de teclas especificadas. Escriba una letra (no caracteres especiales, nmeros
o letras acentuadas) en el cuadro mtodo abreviado. Puede utilizarse
CONTROL+ letra (para letras minsculas) o CONTROL+MAYS + letra (para letras maysculas). La tecla de mtodo abreviado
reemplazar a cualquier tecla de mtodo abreviado predeterminada mientras est abierto el libro que contiene la macro. En este caso
las teclas a asignar son CTRL + a.
4. En el cuadro guardar macro en, haga clic en la ubicacin donde desea almacenar la macro. La lista de opciones permite seleccionar la
ubicacin donde se almacenar la macro.

Este libro. Guarda la macro en el libro actual.

Libro nuevo. La macro se guarda en un libro nuevo y que


pueden ser ejecutadas en cualquier libro creado durante
la sesin actual de Excel.

Libro de macros personal. Esta opcin permite utilizar la


macro en cualquier momento sin importar el libro de Excel que se est utilizando. Para nuestro caso seleccionaremos de la lista
Libro de macros personal.
5. En el cuadro Descripcin puedes incluir una breve descripcin de la macro que vas a crear. Para nuestro caso define como "Macro para
dar formato a los ttulos del reporte mensual"

6.

Finalmente debes pulsar el botn Aceptar para iniciar con la grabacin de la macro. A partir de este momento, se grabarn en la macro
los comandos que ejecute, as como lo que escriba o seleccione.
7. Ejecute las acciones que desee grabar. Los comandos que realice se guardaran en la macro para que pueda
volver a ejecutarlo. En nuestro caso debers de ejecutar las acciones que se plantearon durante el punto E.
Planificacin de la macro (pgina 4).
8. Al terminar de ejecutar las acciones planeadas debers pulsar el botn Detener grabacin para completar la
macro. Existen 2 formas de detener la grabacin: una es seleccionar el rectngulo (Azul) desde la
pestaa Desarrollador y la otra desde la barra de estado de Excel rectngulo
(Blanco). El icono de la parte inferior de la muestra se conoce como Usar referencia
relativa (relativa o
absoluta) cuando se especifican las celdas, se graban las referencias absolutas. En
este caso, si desea
que su macro seleccione celdas independientemente de donde est situado el cursor cuando se ejecute la macro, en la barra de
herramientas que aparece mientras graba, seale el botn referencia
relativa con objeto de cambiar la grabacin de referencias absolutas a
relativas. Esta opcin quedar activada hasta que cierre el programa o
presione otra vez en referencia relativa.
9. Para terminar la grabacin, d un clic en el botn Detener grabacin y la
macro habr quedado guardada. Para ejecutar la macro recin guardada
seleccionar una nueva hoja de Excel y seleccionar el comando Macros.
10. Al pulsar el comando Ver Macros se mostrar la
lista de todas las macros existentes y de las cuales
podrs elegir la que usted creo formato_tabla. Al
hacer clic sobre el comando Ejecutar se realizarn todas las acciones
almacenadas en la macro y obtendrs el resultado esperado. Por supuesto
que si utilizas el mtodo abreviado de teclado de la macro entonces se
omitir este ltimo cuadro de dilogo.

Microsoft Excel 2016 Professional

Pgina 5 de 22

EJECUTAR UNA MACRO


Despus de grabar una macro, se suele ejecutar en Microsoft Excel; existen diferentes mtodos de ejecutar una macro tanto dentro de
Microsoft Excel con el comando Ejecutar desde Macro, Mtodo abreviado o asignndola a un objeto, como desde fuera de Excel desde el
Editor de Visual Basic mientras se modifica.
Antes de ejecutar recuerde que, si eligi las opciones Libro nuevo o Este libro para almacenar la macro, deber estar abierto el libro donde
la guard, en tanto, si especific guardar la macro en el Libro de macros personal entonces la macro estar disponible en cualquier libro.
Existen varios mtodos de ejecutar una macro, stas se revisarn a continuacin:
Ejecutar desde la Pestaa
1. Si ha cerrado el libro que contiene la macro, bralo (recuerde que esta accin la debe realizar, si lo guard en el libro activo o en un nuevo
libro). De esta forma la Herramientas principales de una macro se encuentra en la pestaa
Vista o bien desde la pestaa
Desarrollador con el icono que muestra la lista
de macro con las que se puede
trabajar (o bien la combinacin de teclas
Alt+F8). Enseguida seleccione Ver Macros o Macros
2. Al seleccionar macro se abrir el cuadro de dialogo Macro, con campo Nombre de la
macro, Macros en, los botones de Ejecutar, paso a paso, modificar, eliminar, opciones
3. A continuacin, d clic en la opcin de su macro creada. Para nuestro caso seleccione la
macro PERSONAL.XLSB!formato_tabla. Si la macro no est en la lista, entonces en el
cuadro Nombre de la macro, escriba el correspondiente a la que desea ejecutar.
4. Posteriormente en el cuadro Macros en, elija todos los libros abiertos para que aparezcan
en la lista las macros almacenadas en el libro Personal, en otro que est abierto o en el
activo.
5. D clic en Ejecutar. Si desea detener una macro antes de que finalice las acciones,
presione Esc.
Ejecutar con el Mtodo abreviado
Presione la combinacin de teclas que eligi al grabar la macro, es decir, CTRL + la letra, en nuestro ejercicio fue CTRL + a. Puede utilizar
CTRL+letra (para letras minsculas) o CTRL+MAYS+letra (para letras maysculas). Para la tecla del mtodo abreviado que se utilice no puede
ser ni un numero ni un carcter especial como @ o #.
La tecla mtodo abreviado suplantar cualquier tecla de mtodo abreviado predeterminado en Microsoft Excel mientras este libro este
abierto el libro que contiene la macro. Si la macro se guard como en libro de macros personales siempre estar disponible.
Ejecutar Asignado a Objeto
Para ejecutar una macro desde un objeto de Excel: tablas, grfico, ilustraciones, texto de WordArt, botn
de control de formularios, etc. se debe insertar el elemento dentro del rea de trabajo del libro de
Microsoft Excel (hoja de clculo) donde queremos ubicar las acciones que se ha grabado en una macro.
Si hace clic en el botn u objeto se cambia el control, por ejemplo, haciendo clic en una casilla de
verificacin o un elemento de una lista, la macro se ejecutar. El paso a seguir para asignar a un botn
de comandos de un control de formularios es:
1. Selecciona el botn de Comandos de los Controles de Formulario ubicado en la pestaa
Desarrollador desde el comando Insertar.
2. Debers de ubicar y dimensionar el botn de comandos en la hoja de trabajo donde queremos que
se ejecute la macro. Observa la muestra del resultado esperado con este fin.
3. A continuacin, selecciona la macro que se le asignar a nuestro control seleccionado. Para nuestro
caso seleccione la macro PERSONAL.XLSB!formato_tabla y luego Aceptar.
4. Para modificar el texto del botn debers de posicionar el puntero del mouse sobre el botn (se
convertir el apuntador en una mano de hipervnculo" y seleccionar clic derecho.
5. Aparecer un men contextual con diferentes opciones. Para nuestro inters selecciona el
comando "Modificar texto" titula el botn con el texto "Reporte de Ventas" y listo.
6. Al seleccionar el control se ejecutar la macro que se ha asignado a ese objeto (macro creada con el nombre
formato_tabla). Si por alguna razn al dar clic sobre el botn, el objeto no funciona, es decir que an no
se ha asignado la macro a este botn, debers de posicionar el puntero sobre el control y seleccionar clic
derecho, a continuacin del men contextual elige el comando Asignar Macro. Y luego realiza los pasos a partir del paso 3.
Cdigo de la macro
Una manera muy interesante de descubrir y aprender ms sobre cdigo VBA es analizar el cdigo generado por la Grabadora de macros.
Para ello Selecciona la macro recin creada y pulsa el botn Paso a Paso. Esto se abrir al pulsar el comando Ver Macros se mostrar la lista
de todas las macros existentes de las cuales podrs elegir la que usted creo formato_tabla y al hacer clic sobre el comando Paso a Paso se
abrir el Editor de Visual Basic en donde se encuentran todas las acciones almacenadas de la macro en cdigo VBA.

Microsoft Excel 2016 Professional

Pgina 6 de 22

EDICIN DE UNA MACRO


Con el EDITOR DE VISUAL BASIC se pueden realizar diversas tareas como son: modificar macros, copiar macros de un mdulo a otro, copiar
macros entre diferentes libros, cambiar de nombre a los mdulos que almacenan las macros o variar el nombre a las macros.
Sin embargo, como la mayora de las modificaciones requiere de cierto conocimiento del lenguaje de programacin VISUAL BASIC, por el
momento nicamente se revisar la edicin bsica de las macros que creamos y grabamos para generar la tabla resultante de la pgina 4.
Antes de ver el cdigo de nuestra macro veremos un poco del ambiente de El Editor de Visual Basic.
El Editor de Visual Basic, VBE por sus siglas en ingls, es un programa independiente a Excel, pero fuertemente relacionado a l
porque es el programa que nos permite escribir cdigo VBA que estar asociado a las macros.
Existen al menos dos alternativas para abrir este editor, la primera de ellas es a travs del botn de cdigo de Visual Basic de la
pestaa Desarrollador. Y el segundo mtodo es, en mi opinin, el ms sencillo y rpido y que es a travs de la combinacin de
teclado: ALT + F11. El Editor de Visual Basic contiene varias ventanas y barras de herramientas.

En la parte izquierda se muestra el Explorador de proyectos el cual muestra el proyecto VBA creado
para el libro actual y adems muestra las hojas pertenecientes a ese libro de Excel. Si por alguna razn
no puedes visualizar este mdulo puedes habilitarlo en la opcin de men Ver y seleccionando la
opcin Explorador de proyectos.
El Explorador de proyectos tambin nos ayuda a crear o abrir mdulos de cdigo que se sern de gran
utilidad para reutilizar todas las funciones de cdigo VBA que vayamos escribiendo.
Dentro del Editor de Visual Basic puedes observar una ventana llamada Inmediato que est en la
parte inferior. Esta ventana es de mucha ayuda al momento de escribir cdigo VBA porque permite
introducir instrucciones y observar el resultado inmediato. Adems, desde el cdigo VBA podemos
imprimir mensajes hacia la ventana Inmediato con el comando Debug.Print de manera que podamos
depurar nuestro cdigo. Si no puedes observar esta ventana puedes mostrarla tambin desde el men
Ver.
El rea ms grande en blanco es donde escribiremos el cdigo VBA. Es en esa ventana en donde
escribimos y editamos las instrucciones VBA que dan forma a nuestras macros.
Es importante familiarizarnos con el Editor de Visual Basic al iniciar con la creacin de macros en
Microsoft Excel 2016. A continuacin, se presenta El cdigo de la macro de la ventana de la derecha,
en ste se pueden modificar, borrar o agregar nuevas instrucciones (de Visual Basic). A continuacin,
se revisarn las partes principales de la macro, cada una de ellas documentadas en base a su funcionamiento.
Si usted grab su macro, puede que difiera en algunas instrucciones o en el orden como stas se guardaron; sin embargo, la mayor parte
debe coincidir.
En este ejercicio se modificar el color de la trama. En el antepenltimo bloque se defini en color azul celeste la trama de los encabezados
de la tabla; cambie el nmero del color (37) por el 42. Despus de realizar cualquier cambio, oprima CTRL + S o d un clic en el botn guardar.

Microsoft Excel 2016 Professional

Pgina 7 de 22

Sub formatotabla() ' Inicio de la macro formatotabla


' formato_tabla Macro
' Macro que servir para dar formato reporte mensual.
' Macro grabada en Octubre/06 por Ing. Luis Barrera
' Acceso directo: CTRL+a
'
' Seleccin de la celda y Escritura del texto
Range("A1").Select
ActiveCell.FormulaR1C1 = "Reporte de ventas"
Range("A4").Select
ActiveCell.FormulaR1C1 = "Concepto"
Range("B4").Select
ActiveCell.FormulaR1C1 = "Unidades"
Range("C4").Select
ActiveCell.FormulaR1C1 = "Precio"
Range("D4").Select
ActiveCell.FormulaR1C1 = "Subtotal"
Range("C14").Select
ActiveCell.FormulaR1C1 = "Total"
' Seleccin el rango del ttulo
Range("A1:D1").Select
' Alineacion del texto Centrado
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.ShrinkToFit = False
.MergeCells = False
End With
'Combinacin de las celdas seleccionadas
Selection.Merge
'Aplicar Negritas
Selection.Font.Bold = True
' Tipo de fuente Comic Sans MS, Tamao 16
With Selection.Font
.Name = "Comic Sans MS"
.Size = 16
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
'Seleccin del rango de la tabla
Range("A4:D13,D14").Select
Range("D14").Activate
' Poner los bordes al rango seleccionado
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic

Microsoft Excel 2016 Professional

End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
'Seleccin de la fila y columna de ttulos de la tabla
Range("A4:D4,D14,A5:A13").Select
'Colocar Negritas a la celda
Range("A5").Activate
Selection.Font.Bold = True
'Seleccin de la fila de ttulos
Range("A4:D4").Select
'Alineacin de los ttulos de la tabla
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.ShrinkToFit = False
.MergeCells = False
End With
'Seleccin de las columnas de precio y subtotal
Range("C5:D13,D14").Select
Range("D14").Activate
'Colocar formato de moneda
Selection.Style = "Currency"
'Escribe la frmula =B5*C5
Range("D5").Select
ActiveCell.FormulaR1C1 = "=RC[-2]*RC[-1]"
Range("D5").Select
'Copia la frmula al rango D5:D13
Selection.AutoFill Destination:=Range("D5:D13"), Type:=xlFillDefault
'Obtiene la suma de las celdas del rango D5:D13 en la celda D14
Range("D5:D13").Select
Range("D14").Select
ActiveCell.FormulaR1C1 = "=SUM(R[-9]C:R[-1]C)"
'Cambia el ancho de la columna A
Columns("A:A").ColumnWidth = 20.29
'Selecciona las celdas de los encabezados de la tabla para poner una trama de color azul

Range("A4:D4,A5:A13,D14").Select
Range("D14").Activate
With Selection.Interior
.ColorIndex = 37
.Pattern = xlSolid
End With
' Selecciona la celda C14 y la pone en negritas
Range("C14").Select
Selection.Font.Bold = True
End Sub 'Fin de la macro

Pgina 8 de 22

Recuerde estar guardando los cambios realizados al Libro "Macros1". Al terminar los pasos, en el libro se debe encontrar la Hoja resultante
de la muestra de la pgina 4. Antes de guardar asegrese de haber nombrado la hoja resultante como "macrogra" y su libro compatible con
macro para guardar la macro.

FUNCIONES DEFINIDAS POR EL USUARIO


Ejercicio
Abra una Hoja Nueva denominada "Function" y realice los pasos necesarios para disear la funcin definida por el usuario que nos permite
calcular el rea de un hexgono.
Tabla Resultante:

PROCEDIMIENTO
En el Paso a paso, que se presenta a continuacin, se describe en detalle el procedimiento que debemos realizar para crear una funcin en
un mdulo que nos permitir calcular el rea de un hexgono. Solo tenemos que seguir cada uno de los pasos indicados.
1. Ingrese al Editor de Visual Basic (alt+F11)
2. Inserte un mdulo, seleccionando del men Insertar Mdulo
3. En la ventana Cdigo, escriba el nombre a la funcin como Function y, a continuacin, dejando un espacio, como le llamaremos. Para
Nuestro caso introduzca en el rea de cdigo Function area_hexagono.
4. Una vez ingresado el nombre, presione ENTER. El editor de VBA aade unos parntesis despus del nombre inserta y adems una nueva
lnea con las instrucciones End Function.
5. A continuacin, dentro de los parmetros que agrego VBA, coloca los parmetros que recibe la funcin (si existen), para nuestro caso
los parmetros Lado, Apotema.
6. Entre estas dos lneas, escriba el cdigo que sigue, que contiene la frmula para calcular el rea. Para ello introduzca las siguientes 3
lneas:
Function area_hexagono(Lado, Apotema)
P = Lado * 6
A = (P * Apotema) / 2
area_hexagono = A
End Function

Podemos utilizar la sentencia Exit Function para salir de una funcin antes de que esta finalice. Por ejemplo, tenemos la funcin
area_hexagono que espera recibir un valor positivo y mayor que cero para realizar el clculo. Entonces, si el valor recibido es menor que
cero, la funcin no podr continuar, mostrar un mensaje de error y, como consecuencia, saldr de la funcin de inmediato. Por lo tanto,
para detener la ejecucin de la funcin cuando recibe un valor menor que cero, empleamos la sentencia Exit Function como muestra la
siguiente sintaxis:
Function area_hexagono(Lado, Apotema)
If Lado <= 0 Then
MsgBox "Ingresar un nmero mayor que 0"
Exit Function
Else
P = Lado * 6
A = (P * Apotema) / 2
area_hexagono = A
End If
End Function
7. Antes de ejecutar la funcin desde una hoja de clculo Disea la siguiente tabla.

8.
9.

Las funciones definidas por el usuario las podemos visualizar dando clic en Pestaa Formulas y buscamos en categoras de la funcin la
que diga funciones Definidas por el usuario y encontraremos la funcin area_hexagono.
En ella deber elegir los valores de la formula seleccionando de la misma forma como se ha realizado con las funciones de Excel y segn
se muestra en la imagen. La funcin area_hexagono nos pide 2 parmetros tiene que son el lado y la apotema, que para nuestro caso
se encuentran en las celdas 2 B3 y B4 respectivamente, luego clic en el botn aceptar.

Microsoft Excel 2016 Professional

Pgina 9 de 22

10. Guarde los cambios efectuados en el libro "Macros1" y sbalo al enlace del aula Entrega de archivos Gua 8. Antes de guardar
asegrese de haber nombrado la hoja como "function", adems recuerde que su libro debi de guardarlos con la extensin .xlsm, que
es la extensin que Excel le coloca a los libros habilitados para macros, de lo contrario no incluir sus macros en el libro.

LOS USERFORMS - LOS FORMULARIOS


Una vez que hemos analizado en qu consisten las macros y tambin visto los principales tipos de controles que pueden ser utilizados, ahora
nos introduciremos en los userforms o formularios.
En relacin los userforms, los formularios son mucho ms conocidos por todos, ya que normalmente tenemos que convivir con ellos cada
vez que navegamos por la web o cada vez que tenemos que llenar alguna solicitud.
Los formularios en general son utilizados para capturar una serie de informacin del usuario que esta interactuando con dicho formulario.
Simplificando un poco lo tcnico, podramos decir que un formulario es una coleccin de controles ActiveX que permiten la recoleccin de
informacin. En el caso de Excel, adems podemos elaborar un formulario aprovechando sus celdas y las posibilidades de formato que
podemos aplicarles a ellas.
Por su parte, los userforms, de alguna forma podramos decir que tambin son formularios slo que mucho ms avanzados o complejos,
razn por lo cual nos ofrecen muchas ms posibilidades de comportamiento, uso o explotacin. Tcnicamente, diremos que un objeto
userform es una ventana o un cuadro de dilogo que conforma parte del interfaz usuario de una aplicacin. Al igual que los formularios, los
userforms estn formados por una coleccin de controles, ms una combinacin de cdigo y datos.

Excel es un programa que tiene un gran potencial, pero la mayora de la gente lo maneja de una forma muy simple, utilizando solo opciones
bsicas, pero como ya vimos, Excel cuenta con un lenguaje muy poderoso llamado Visual Basic, este es solo una parte del lenguaje, pero
permite hacer o resolver los problemas ms fcilmente, solo debemos aprender a programarlo.
Procederemos a realizar un Formulario que permita introducir el Nombre y Edad de una persona, para calcular los Das Vividos hasta
la fecha. Los resultados se mostrarn en una hoja de Excel denominada "DiasVividos" que se encontrar en nuestro libro de trabajo
"BaseGua8" como "Hoja1". El formulario deber asignar al objeto que se lee como "De Clic Aqu" ubicado en la hoja de insercin. Adems
de la tecla rpida m.
Resultado Esperado:

Microsoft Excel 2016 Professional

Pgina 10 de 22

PROCEDIMIENTO
1. Presione La Teclas Alt + F11, para entrar al editor de Visual Basic.
2. Activa las siguientes opciones:

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


3. Del Men Insertar elija la Opcin UserForm. Esto inserta el Formulario que
programaremos con controles.
4. En el Explorador de Proyecto se observar que se insert el UserForm.

5.

6.

7.
8.

9.

Ahora crearas un formulario con el siguiente aspecto:


3 Etiquetas
3 Textbox
Un Botn de Comando

Elija del Cuadro de Herramientas el Control Etiqueta el que


tiene la A y Arrastre dibujando en el Formulario USERFORM1
la etiqueta. Quedar el nombre Label1, despus 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 programacin de la
etiqueta, solo de doble clic en UserForm1 que se encuentra en el Explorador de Proyecto.
Realiza el paso 6 con el resto de etiquetas que an nos falta para completar el diseo del formulario.
Elija del Cuadro de Herramientas el control Cuadro de Texto el que tiene ab y arrastre dibujando en el formulario USERFORM1
el cuadro de texto a un lado de la etiqueta que dice Nombre. El cuadro de texto debe de estar vaco y su nombre ser Textbox1,
el nombre solo aparecer en el control.
Realiza el paso 8 con el resto de cuadros de texto que an nos falta para completar el diseo del formulario.
Si tiene algn problema al dibujar las etiquetas o los cuadros de texto, solo cmbiele el nombre
a la etiqueta o el cuadro de texto en la Ventana Propiedades la opcin se llama (Name). El Error
que marque puede ser Nombre Ambiguo, pero si le cambias el Nombre al control se quitara el
error. Puedes ponerle cualquier nombre en lugar de Label1 o el cuadro de texto.

10. Los controles como las Etiquetas y Cuadros de Textos pueden modificrseles algunas opciones
en la Ventana Propiedades para hacer esto es necesario tener conocimiento sobre las
propiedades de los controles. No altere las propiedades si no las conoce.
11. Elija del Cuadro de Herramientas el control Botn de Comando y Arrastre dibujando en el
Formulario USERFORM1 el Botn, despus de un clic en el nombre del Botn dibujado y podr
modificar el nombre y pondremos el rotulo al botn como Resultado". Si por error da doble
clic en la Botn y lo manda a la pantalla de programacin del botn de comando, solo de doble
clic en UserForm1 que se encuentra en el Explorador de Proyecto.
As quedara el Formulario formado por los controles requeridos:

Los datos que se preguntaran


sern Nombre y Edad, los
Das Vividos se generaran
automticamente
cuando
inserte la edad.

12. A continuacin se muestra como se deben de programar estos Controles:

Microsoft Excel 2016 Professional

Pgina 11 de 22

13. Ahora de doble clic sobre el control Textbox1 para programarlo y despus inserte el siguiente cdigo:
Private Sub TextBox1_Change()
Range("A9").Select ' Esto indica que se vaya a A9 y escriba lo que hay en el Textbox1
ActiveCell.FormulaR1C1 = TextBox1
End Sub
Nota.-Lo que est en azul lo genera Excel automticamente, usted solo escribir lo que est en color Negro
Para volver al Formulario y programar el siguiente Textbox de doble clic en UserForm1 que se
encuentra en el Explorador de Proyecto, o simplemente de clic en Ver Objeto en el mismo
Explorador de Proyecto.

14. Ahora de doble clic sobre el control Textbox2 para programarlo y despus inserte el siguiente cdigo:
Private Sub TextBox2_Change()
Range("B9").Select
ActiveCell.FormulaR1C1 = TextBox2
Rem aqu se crea la Formula
TextBox3 = Val(TextBox2) * 365
Rem El Textbox3 guardara el total de la multiplicacin del Textbox2 por 365
Rem El Comando Val permite convertir un valor de Texto a un Valor Numrico
Rem Esto se debe a que los Textbox no son Numricos y debemos de Convertirlos
End Sub
Para volver al Formulario y programar el siguiente Textbox de doble clic en UserForm1 que se encuentra en el Explorador de Proyecto,
o simplemente de clic en Ver Objeto en el mismo Explorador de Proyecto.
15. Ahora de doble clic sobre el control Textbox3 para programarlo y despus inserte el siguiente cdigo:
Private Sub TextBox3_Change()
Range("C9").Select
ActiveCell.FormulaR1C1 = TextBox3
End Sub
Esto indica que se vaya a C9 y escriba lo que hay en el Textbox3.
Para volver al Formulario y programar el siguiente Textbox de doble clic en UserForm1 que se encuentra en el Explorador de Proyecto,
o simplemente de clic en Ver Objeto en el mismo Explorador de Proyecto.
16. Ahora de doble clic sobre el control Botn de Comando para programarlo y despus inserte el siguiente cdigo:
Private Sub CommandButton1_Click()
Rem inserta un rengln
Selection.EntireRow.Insert
Rem Empty Limpia Los Textbox
TextBox1 = Empty
TextBox2 = Empty
TextBox3 = Empty
TextBox1.SetFocus
Rem Textbox1.SetFocus Enva el cursor al Textbox1 para volver a capturar los datos

End Sub
Nota.-El comando Rem es empleado para poner comentarios dentro de la programacin, el comando Empty es empleado para
vaciar los Textbox.

Esto va permitir que cuando se ejecute el formulario y se d la edad, el resultado de los das vividos aparecer en el Textbox3 y se
escribir tambin en Excel. El comando Val es un comando de Visual Basic que te permite convertir un valor de texto a un valor
numrico. Recuerden el Comando Rem se utiliza para poner Comentarios nicamente y no afecta a la programacin.
17. Ahora presione el botn Ejecutar User/Form que se encuentra en la barra de herramientas o simplemente la tecla de funcin
F5.

Microsoft Excel 2016 Professional

Pgina 12 de 22

Se activar el Userform1 y todo lo que escriba en los Textbox se escribir en Excel y cuando presione el botn Insertar, se insertar
un rengln y se vaciaran los Textbox y despus se mostrara el cursor en el Textbox1.
18. Ahora presione el botn Guardar que se encuentra en la barra de herramientas.
Mdulo para invocar el formulario
19. En una hoja de Excel luego que Guardamos el Formulario, Creamos una nueva Macro
tecleando Alt+F8
20. Digitar el nombre de macro "Formulario1" y clic en
opcin Crear. Donde aparecer el cdigo siguiente
21. En medio de este cdigo deber de digitar las siguientes
2 lneas:
Load UserForm1 'Cargar Formulario
UserForm1.Show 'Muestre el Formulario
22. Guarde lo anterior y en seguida cierra nuevamente VBA y deja la pantalla de la hoja
"DiasVividos".
23. Presione ALT+F8 y clic en Opciones en
tecla de mtodo abreviado digite m y en
descripcin "Das Vividos" y aceptar.
24. Adems, podemos configurar el rectngulo
De clic aqu para que al presionarlo se
active tambin la macro, para ello
Presionar Clic derecho sobre el rectngulo
y luego clic en asignar macro.
Con lo anterior ya quedo configurado el
rectngulo para que ejecute la macro.
Adems de l mtodo abreviado de
Control + m.

Guarde los cambios realizados al en libro con el nombre Formulario.xlsm", recuerde guardarlo como un libro habilitado para macros. Al
terminar los pasos, en el libro se debe encontrar la Hoja resultante de la muestra de la pgina 10, antes de guardar asegrese de haber
nombrado la hoja resultante como "DiasVividos"

Otro ejercicio Prctica


Procederemos a realizar un Formulario que permita introducir dos nmeros positivos menores a 100 para luego seleccionar la
operacin a realizar con ellos y al final presente el resultado en una hoja llamada "Calcular" del Libro "Formulario.xlsm" de Excel. Para
el ejercicio tome como base la "Hoja2" deber producir el siguiente resultado esperado:

Microsoft Excel 2016 Professional

Pgina 13 de 22

PROCEDIMIENTO
1. Presione La Teclas Alt + F11, para entrar al editor de Visual Basic.
2. Activa las siguientes opciones:

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


3. Del Men Insertar elija la Opcin UserForm. Esto inserta el Formulario que
programaremos con controles.
4. En el Explorador de Proyecto se observar que se insert el UserForm.

Procederemos a insertar un formulario, para ello podemos hacerlo de dos formas:


1. Desde la barra de herramientas en Insertar->User Form como lo muestra la siguiente figura:
2. Desde la barra de herramientas estndar en el Insertar User Form como se muestra en la siguiente figura:

5.

Al hacer cualquiera de las opciones anteriores aparecern las siguientes pantallas en el rea de trabajo:

6.

Para crear el formulario solo arrastramos del cuadro de herramientas los controles que deseamos agregar a nuestro formulario. El

formulario es el que se llama UserForm2. Si deseamos cambiar las propiedades de los controles nos dirigimos a Ver->Ventana
de Propiedades o presionamos F4 y nos aparecer una ventana al lado izquierdo como se muestra a continuacin:
7.

Se debe de dibujar un formulario como se muestra a continuacin:

Microsoft Excel 2016 Professional

Pgina 14 de 22

Los botones deben de quedar con las siguientes propiedades


No
Control
Caption
1 Label
Resultado de Operacin
1 Label
Nmero 1
1 Label
Nmero 2
1 Label
SUMA
1 Label
RESTA
1 Label
MULTIPLICACIN
2 Caja de Texto (A)
2 Caja de Texto (B)
2 Caja de Texto (C)
2 Caja de Texto (D)
2 Caja de Texto (E)
3 Botn
INICIO
3 Botn
ADICIONAR
3 Botn
SALIR
4 Barra desplazamiento
5 Botn de numero

Name
lbresoper
lbnum1
lbnum2
lbsuma
lbresta
lbmulti
txnum1
txnum2
txsuma
txresta
txmulti
Btninicio
Btnadicionar
Btnsalir
scnum2
sbnum1

Font
Calibri, Negrita, 20
Calibri, Normal, 12
Calibri, Normal, 12
Calibri, Normal, 12
Calibri, Normal, 12
Calibri, Normal, 12

Calibri, Normal, 12
Calibri, Normal, 12
Calibri, Normal, 12

8.

Digitar el cdigo pulsando doble clic al Botn de Comando INICIO y


aparecer la pantalla del Editor:

9.

Ahora procedemos a escribir el siguiente cdigo para cada uno de los


botones como se muestra en el siguiente cuadro:
Control
Evento
Codigo
sbnum1.Enabled = True
scnum2.Enabled = True
txnum1.Enabled = True
txnum2.Enabled = True
btninicio
btninicio_Click()
txsuma.Enabled = True
txresta.Enabled = True
txmulti.Enabled = True
btnadicionar.Enabled = True

Microsoft Excel 2016 Professional

Pgina 15 de 22

Control

Evento

btnadicionar

btnadicionar_Click()

btnsalir

btnsalir_Click()

scnum2

scnum2_Change()

sbnum1

sbnum1_Change()

txnum1

txnum1_Change()

txnum2

txnum2_Change()

txsuma

txsuma_Change()

txresta

txresta_Change()

txmulti

txmulti_Change()

Codigo
Selection.EntireRow.Insert
txnum1 = Empty
txnum2 = Empty
txsuma = Empty
txresta = Empty
txmulti = Empty
End
scnum2.Max = 99
scnum2.Min = 1
txnum2.Value = scnum2.Value
sbnum1.Max = 99
sbnum1.Min = 1
txnum1.Value = sbnum1.Value
Range("A3").Select
ActiveCell.FormulaR1C1 = txnum1
Range("B3").Select
ActiveCell.FormulaR1C1 = txnum2
txsuma = Val(txnum1) + Val(txnum2)
txresta = Val(txnum1) - Val(txnum2)
txmulti = Val(txnum1) * Val(txnum2)
Range("C3").Select
ActiveCell.FormulaR1C1 = txsuma
Range("D3").Select
ActiveCell.FormulaR1C1 = txresta
Range("E3").Select
ActiveCell.FormulaR1C1 = txmulti

10. Para probar que funcione. Para ello procedemos a presionar el botn Ejecutar Sub/UserForm en la barra de herramienta
o presionamos F5. Al hacer esto debera realizar la siguiente secuencia:

Microsoft Excel 2016 Professional

Pgina 16 de 22

Presionamos Adicionar

Microsoft Excel 2016 Professional

Pgina 17 de 22

Presionamos Salir
11. Con el siguiente cdigo deshabilitaremos las opciones, hasta que presionemos Inicio; para ello seleccionamos en la barra superior
del cdigo las siguientes opciones:

Y digitamos el siguiente cdigo:


Private Sub UserForm_Initialize()
sbnum1.Enabled = False
scnum2.Enabled = False
txnum1.Enabled = False
txnum2.Enabled = False
txsuma.Enabled = False
txresta.Enabled = False
txmulti.Enabled = False
btnadicionar.Enabled = False
End Sub
12. Procedemos a ejecutarlo nuevamente, al hacer
esto aparecer como se muestra a continuacin:

Como se puede ver la opcin ADICIONAR y los dems


botones aparecern deshabilitados, y sern activados
hasta que demos clic a inicio.
13. Ahora debemos crear un botn desde la hoja para
llamar al formulario. Dibujamos el botn segn
como se explic al inicio de este apartado de
macros. Al hacer esto aparecer la siguiente
ventana

Microsoft Excel 2016 Professional

Pgina 18 de 22

14. Presionamos Nuevo al hacer esto debemos copiar y pegar el siguiente cdigo:
Sub CALCULAR()
Load UserForm2
UserForm2.Show
End Sub
15. Guardamos los cambios y salimos del VB. Damos clic derecho sobre el botn y
presionamos Asignar Macro como lo muestra la siguiente figura:

16. Seleccionamos la Macro Calcular que hemos creado anteriormente.


17. Para cambiar el nombre damos clic derecho-> Modificar
Texto como se muestra en la siguiente figura:

Y quedara como se muestra a continuacin:

Recuerde estar guardando los cambios realizados al Libro "Formulario.xlsm". Al terminar los pasos, en el libro se debe encontrar la Hoja
resultante de la muestra de la pgina 13. Antes de guardar asegrese de haber nombrado la hoja resultante como "Calcular"

Otro ejercicio Prctica


Procederemos a realizar un Formulario que permita desplegar la nota promedio de un alumno a partir de la bsqueda mediante el
carnet. Los datos se encuentran en la hoja3 del libro base, llame a la hoja "Alumnos-msm115". Deber producir el siguiente resultado
esperado:

Microsoft Excel 2016 Professional

Pgina 19 de 22

PROCEDIMIENTO

1.
2.
3.

4.
5.

6.

Renombre la Hoja3 por Alumnos-MSM115


Presione La Teclas Alt + F11, para entrar al editor de Visual Basic.
Activa las siguientes opciones:

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


18. Del Men Insertar elija la Opcin UserForm. Esto inserta el Formulario que
programaremos con controles.
En el Explorador de Proyecto se observar que se insert el UserForm

Habr el Microsoft Visual Basic para Aplicaciones. Luego de clic en el botn


UserForm (como lo muestra el paso 3 del apartado anterior) para insertar un nuevo
formulario. Le aparecera el nuevo formulario como se muestra a continuacin.
Disee el formulario, para que quede como el que se le muestra a continuacin:
Con los nombres de botones como se muestra en la siguiente tabla
Control
Caption
Name
Propiedades Extras
Label
Digite el Carnet a buscar lbbuscar
Caja de Texto
txbuscar
Label
Nombre Alumno
lbnombre
Caja de Texto
txnombre
Locked=true
Label
Promedio
lbpromedio
Caja de Texto
txpromedio Locked=true
Botn
Buscar
btnbuscar
Botn
Cerrar
btncerrar
El codigo de los botones es el siguiente:
Control
Evento

7.

Codigo
Dim Res As Variant
Res = Application.VLookup(txbuscar.Value, Range("B2:E101"), 4, False)
If IsError(Res) = False Then
txnombre.Value = Application.VLookup(txbuscar.Value, Range("B2:E101"), 2,
False) + " " + Application.VLookup(txbuscar.Value, Range("B2:E101"), 3, False)
txpromedio.Value = Application.VLookup(txbuscar.Value, Range("B2:E101"), 4,
Btnbuscar
btnbuscar_Click()
False)
Else
txnombre.Value = "NO SE ENCONTRO CARNET"
txpromedio.Value = " "
End If
Btncerrar
btncerrar_Click()
End
Ahora procederemos a realizar el boton para llamarlo desde la Hoja. Realizamos los mismos pasos que el item anterior y le pegamos
este codigo:
Sub abrir()
Load UserForm3
UserForm3.Show
End Sub

Microsoft Excel 2016 Professional

Pgina 20 de 22

8.

Quedar como se muestra a continuacion:

Recuerde estar guardando los cambios realizados al Libro "Formulario.xlsm". Al terminar los pasos, en el libro se debe encontrar la Hoja
resultante de la muestra de la pgina20. Antes de guardar asegrese de haber nombrado la hoja resultante como " Alumnos-msm115"

Microsoft Excel 2016 Professional

Pgina 21 de 22

Como Realizar Men Desde Un Formulario


Procederemos a realizar un Formulario que permita desplegar un men hacia el resto de formularios creados en la prctica de
laboratorio. Realice los pasos necesarios para ello deber producir el siguiente resultado esperado:

PROCEDIMIENTO

1.

2.
3.

Antes de empezar cercirese que nombres posee cada hoja de Clculo, En lugar
de Hoja1, Hoja2 y Hoja3; Nmbrelas: DiasVividos, Calcular y Alumnos-MSM115
respectivamente.
Entre a el Editor Visual Basic (Alt + F11) y cree un Userform4 (igual que los ejercicio
anteriores)
Insrtele 4 Botones de comando al formulario, tal como se muestra a continuacin.
Cmbiele las propiedades Caption al formulario, Botones 1, 2, 3 y 4. Entre a cada
Botn (doble clic) y Escrbale el Siguiente Cdigo para programarlo:
Private Sub CommandButton1_Click()
Worksheets("DiasVividos").Select
End Sub
Private Sub CommandButton2_Click()
Worksheets("Calcular").Select
End Sub
Private Sub CommandButton3_Click()
Worksheets("Alumnos-MSM115").Select
End Sub

4.
5.

Private Sub CommandButton3_Click()


End
End Sub
Disee en nuestro libro de trabajo una hoja nueva llamada "Men" e inserte en ella un botn de comando para que se le asigne en
ella la carga del formulario. Para que pueda desplazarse entre hojas. Y Listo
Guarde los cambios realizados en el libro de trabajo "Formulario.xlsm".

Guarde los cambios efectuados en el libro "Formulario.xlsm" y sbalo al enlace del aula Entrega de
archivos Gua 8

Microsoft Excel 2016 Professional

Pgina 22 de 22