Visual Basic Excel
Visual Basic Excel
TEMA DE INVESTIGACIÓN
INTRODUCCIÓN A LA PROGRAMACIÓN
EN EXCEL CON
VISUAL BASIC APPLICATION
CARRERA:
INGENIERÍA QUÍMICA ÁREA INDUSTRIAL
GRUPO:
QUI03SV-20
CONTENIDO
MACROS.............................................................................................................1
REFERENCIAS ............................................................................................... 70
2
VISUAL BASIC APPLICATION
MACROS
Introducción
Una macro es una serie de instrucciones que se almacenan para que se puedan
ejecutar de forma secuencial mediante una sola llamada u orden deejecución.
Lo primero que debes hacer en Excel 2010, para empezar a grabar una macroes:
Habilitar la pestaña Programador.
1
Para esto realiza lo siguiente:
Para esto realiza lo siguiente:
• Haz click en Archivo.
• Selecciona Opciones.
2
Se visualiza:
1
Luego guarda tu libro de Excel como libro de Excel habilitado para macros,
cuya extensión es .xlsm.
Para esto realiza lo siguiente:
• Selecciona Archivo.
3
Para habilitar las seguridades de las macros realiza lo siguiente:
4
• Haz clic en Configuración de macros
• Selecciona Habilitar todas las macros (no recomendado; puede
ejecutar código posiblemente peligroso)
• Haz click en Aceptar
GRABAR MACROS
Cuando grabe una macro, la grabadora de macros graba todos los pasos
necesarios para completar las acciones que deseas grabar.
5
Práctica
Para crear la macro que permita dar a cualquier celda el formato de letra Comic
Sans MS, de tamaño 18, color azul y negrita.
6
• Otra opción para grabar la macro es hacer clic en el icono
7
• Observa que el icono cambia a lo que indica
que se está grabando la macro.
• Luego empieza a grabar los formatos solicitados, por ejemplo, para
seleccionar el color de fuente realiza lo siguiente:
• Selecciona la ficha Inicio.
• Haz clic en Fuente.
• Elige el color, para el ejemplo el color azul.
8
• De similar forma selecciona el tipo de fuente solicitado, para el caso,
elige Comic Sans MS.
9
• Para detener la macro haz clic en
10
EJECUTAR MACROS
11
• Presiona simultáneamente las teclas asignadas en el método
abreviado, para el ejemplo, presiona simultáneamente las teclas
control y la tecla f .
12
Otra forma de ejecutar es:
13
• Se visualiza el cuadro de diálogo Macro.
• Selecciona la macro que creaste, para el ejemplo, formato_azul.
• Haz clic en Ejecutar.
14
• Selecciona la ficha Programador.
• Haz clic en Macros.
16
• Visualiza el cuadro de diálogo de Microsoft Visual Basic.
• Haz clic en Módulo1.
• Si no presenta esta pantalla, haz clic en Ver, y selecciona Explorador
de proyectos.
17
Finalmente, puedes accesar al ambiente de Visual Basic, presionando
simultáneamente las teclas Alt y F11
MODIFICAR MACROS
Por ejemplo, modifica en la macro el tipo de letra Arial y de tamaño 20. Para
realizar este cambio realiza lo siguiente:
18
• Visualiza el cuadro de diálogo Macro.
• Selecciona la macro a modificar.
• Haz clic en Modificar.
19
Observa el código de la macro:
Una macro inicia en:
Sub formato_azul()
y termina en End Sub
El texto en color verde, son comentarios que puedes colocar en tu macro; estos no
son interpretados por el compilador de Visual Basic. Para comentar una línea
se utiliza un apóstrofo (').
18
19
A continuación se explica el significado de cada línea del código generado en el
lenguaje de Visual Basic:
20
• Visualiza que se han modificado las líneas 8 y 9.
20
VISUAL BASIC APPLICATION
21
CÓDIGOS MÁS COMUNES EN MACROS
Letra Negrita
Selection.Font.Bold = True
Letra Cursiva
Selection.Font.Italic = True
Letra Subrayada
Selection.Font.Underline = xlUnderlineStyleSingle
Centrar Texto
With Selection
.HorizontalAlignment = xlCenter
End With
Alinear a la izquierda
With Selection
.HorizontalAlignment = xlLeft
End With
Alinear a la Derecha
22
Alinear a la Derecha
With Selection
.HorizontalAlignment = xlRight
End With
Tipo de Letra(Fuente)
With Selection .Font
.Name =
"AGaramond" End
With
Copiar
Selection.Copy
Pegar
ActiveSheet.Paste
Cortar
Selection.Cut
Ordenar Ascendente
Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Orden Descendente
Selection.Sort Key1:=Range("A1"), Order1:=xlDescending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Buscar
Cells.Find(What:="Paty Acosta", After:=ActiveCell, LookIn:=xlFormulas, LookAt
_
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False).Activate
Insertar Fila
Selection.EntireRow.Insert
Eliminar Fila
Selection.EntireRow.Delete
23
Insertar Columna
Selection.EntireColumn.Insert
Eliminar Columna
Selection.EntireColumn.Delete
24
Abrir un Libro
Workbooks.Open Filename:="C:\Mis documentos\miarchivo.xls"
Grabar un Libro
ActiveWorkbook.SaveAs Filename:="C:\Mis documentos\tauro.xls", FileFormat
_
:=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=
_
False, CreateBackup:=False
Práctica
Realizar una macro que calcule el valor de la cantidad por el valor del producto.
Luego permitir que se arrastre la fórmula y asignar la macro a un botón de
formulario.
23
• En Nombre de la macro digita el nombre calcular_valor.
• En Guardar macro en, selecciona Este libro.
• En Descripción, digita una descripción la mima que es opcional.
• Haz clic en Aceptar.
24
• Haz clic en fx.
• Arrastra la fórmula.
25
• Dibuja el botón en un área de la hoja de cálculo.
26
• Visualiza que se activa el cuadro de diálogo Asignar macro.
• Selecciona la macro creada anteriormente, en este caso
calcular_valor.
• Haz clic en Aceptar.
Se visualiza:
27
• Digita un nombre para el botón; por ejemplo, Calcular total.
• El botón está listo para ejecutar el cálculo del Valor total.
28
• Si deseas probar borra el rango de F14 a F23; presiona el botón Calcular
Total; podrás observar que se borran los datos comprendidos en el rango
de F14 a F23.
Práctica
29
• Selecciona la forma.
• Elige un color de relleno para la forma.
30
• Selecciona la forma.
• Haz clic derecho sobre la forma.
• Selecciona Asignar macro...
31
• Se visualiza el cuadro de diálogo Asignar macro.
• Haz clic en la macro calcular_valor.
32
PREPARAR EL LIBRO PARA TRABAJAR CON CONTROLES ACTIVEX
Una de las opciones más interesantes que tiene Excel 2010 es la de utilizar los
“cuadros de control”. Los cuadros de control se aplican para crear
verdaderos programas en Excel y pueden ser de mucha utilidad.
Lo primero que debes hacer para trabajar con los cuadros de control en Excel
2010, es preparar el libro; recuerda aplicar lo estudiado anteriormente en la
unidad de macros. Para esto sigue el siguiente proceso:
Lo primero que debes hacer en Excel 2010, para empezar a grabar una macroes:
33
• Haz clic en la opción Personalizar cinta de opciones.
• Activar con un visto la opción Programador.
• Haz clic en Aceptar.
34
Se visualiza:
Luego guarda tu libro de Excel como libro de Excel habilitado para macros,
cuya extensión es .xlsm.
Para esto realiza lo siguiente:
• Selecciona Archivo.
35
• Haz clic en Guardar como.
• Se visualiza:
36
Para habilitar las seguridades de las macros realiza lo siguiente:
37
• Selecciona la pestaña Programador.
• Haz clic en Seguridad de macros.
• Se visualiza:
38
39
• Haz clic en Configuración de macros
• Selecciona Habilitar todas las macros (no recomendado; puede
ejecutar código posiblemente peligroso)
• Haz clic en Aceptar
• Selecciona Insertar.
• Visualiza los Controles ActiveX.
40
Dentro de este grupo de Controles se pueden identificar las opciones más
importantes:
1. Insertar: Inserta los objetos de formularios y de los Controles ActiveX.
2. Modo Diseño: Permitirá trabajar en el diseño de los Controles ActiveX.
3. Propiedades: Visualiza las propiedades de cada objeto.
4. Ver código: Permite agregar, editar y modificar el código a cada control.
Práctica
41
• Crea las hojas: Menú, Ventas y Tabla dinámica.
• Selecciona la hoja Menú.
42
• Selecciona la ficha Programador.
• Localiza el grupo Controles.
• Haz clic en Insertar.
• Localiza el grupo Controles.
• Selecciona el Botón de comando.
43
Se visualiza el cuadro de diálogo Propiedades.
De este cuadro de propiedades se pueden diferenciar dos propiedades muy
importantes:
(Name): Se refiere al nombre que se hará referencia durante la programación.
Este nombre debe cumplir con la sugerencia de los nombres de las macros. Si
aplicamos buenas prácticas de programación y siendo este objeto un botón que
enlazará a la hoja ventas lo llamaremos. btnventas.
44
Se visualiza:
45
VISUAL BASIC APPLICATION
• Selecciona el botón.
• Haz clic derecho, selecciona Propiedades.
• En el cuadro de diálogo de Propiedades, selecciona la propiedad
Backcolor.
41
Para cambiar el color de la fuente realiza lo siguiente:
• Selecciona el botón.
• Haz clic derecho, selecciona Propiedades.
• En el cuadro de diálogo de Propiedades, selecciona la propiedad
Forecolor.
• En la lista se visualiza los colores del Sistema y de la Paleta.
• De la Paleta selecciona un color.
42
Para cambiar el tipo, estilo y tamaño de la fuente realiza lo siguiente:
• Selecciona el botón.
• Haz clic derecho, selecciona Propiedades.
• En el cuadro de diálogo de Propiedades, selecciona la propiedad Font.
• Se visualiza el cuadro de diálogo Fuente.
• En Fuente selecciona el tipo: Arial.
• En Estilo de fuente selecciona: Negrita.
• En Tamaño selecciona:10.
• Haz clic en Aceptar.
43
• Visualiza el resultado.
44
Para insertar un icono realiza lo siguiente:
45
• Selecciona el botón.
• Haz clic derecho, selecciona Propiedades.
• En el cuadro de diálogo de Propiedades, selecciona la propiedad
Picture.
• En (Ninguno), haz clic en el botón...
46
• Visualiza el resultado.
47
INSERTAR CÓDIGO EN EL BOTÓN DE COMANDO
Si deseas navegar entre las hojas Menú, Tabla dinámica y Ventas se requiere
insertar un código de programación en los botones creados.
Para insertar el código realiza lo siguiente:
• Selecciona el botón.
• Haz doble clic.
48
• Digita Hoja2.
• Observa que al digitar el punto (.) automáticamente VBA despliega una
pantalla de opciones.
• Haz doble clic en Activate.
49
• Para regresar al ambiente de Excel, haz clic en el icono .
50
• Visualiza el botón Ir a Ventas en el ambiente de Ms Excel.
• Para que el botón funcione, desactiva el Modo Diseño. Es decir antes de
hacer clic en el botón Ir a Ventas la opción Modo Diseño no debe estar
en color naranja.
• Selecciona el botón.
• Haz doble clic.
• Se visualiza el ambiente de Visual Basic Applications.
• Si no visualizas el panel de la izquierda, puedes activar desde Ver al
hacer clic en Explorador de proyectos.
• Observa que el cursor se ubica en el área en donde debes digitar el
código.
• Pon atención en el nombre que se ubica en el panel de la izquierda en el
nombre entre paréntesis; contiene el nombre de la hoja con la cual
deseas enlazar.
• En la programación para hacer referencia a la hoja Tabla dinámica, el
nombre que tomarás será Hoja3
• Digita Hoja3.
• Observa que al digitar el punto (.) automáticamente VBA despliega una
pantalla de opciones.
• Haz doble clic en Activate.
• El código digitado es: Hoja3.Activate, este código indica que estás
activando la Hoja3 (Tabla dinámica) en este caso se enlazará con la
hoja Tabla dinámica que es visible para el usuario final. Hoja3 es el
51
Name de la hoja, es decir es el nombre que se hace referencia en la
programación.
52
• De similar forma, programa el botón Ir a Menú, en donde podrás
navegar en tu libro de Ms Excel.
• Selecciona el botón.
• Haz doble clic.
53
• Visualiza el ambiente de Ms Excel.
• El botón Ir a Menú está listo para hacer clic.
• Haz clic en Ir a Menú.
• Visualiza el resultado.
• Selecciona Vista.
• Haz clic en Mostrar u ocultar.
• Haz clic en la casilla Líneas de cuadrícula.
• Quita el visto de la casilla.
Visualiza el resultado.
Para navegar en el libro, salga del Modo de Diseño y navega con los botones
que programaste.
Más adelante utilizarás estos botones para cargar formularios desde VBA en
Excel.
También puedes añadir el código de las macros que grabaste con lagrabadora.
54
CREAR FORMULARIOS
También puedes presionar simultáneamente las teclas Alt + F11, para entrar al
editor de Visual Basic.
55
• Visualiza el formulario
• Selecciona el formulario.
• Haz clic en Propiedades.
• Visualiza el cuadro de diálogo de Propiedades.
• En Name digita frmclientes.
• En Caption digita: Agregar clientes.
• En Backcolor selecciona un color.
56
• Haz clic sobre el formulario.
• Se activa el Cuadro de herramientas.
57
• Dibuja las demás etiquetas en el formulario.
58
Para colocar las tres cajas de texto con el mismo ancho y alto realiza lo
siguiente:
59
• Visualiza como lucen las cajas de texto con un alto de 20 y un ancho de
120.
60
• Ahora colocaremos nombres (Name) a las cajas de texto, por ejemplo a
la caja que recibirá el nombre la llamarás TextBoxnombre, recuerda
que a los nombres (Name) se aplican los criterios de los nombres de las
macros.
61
• A la caja que recibirá la dirección la llamarás TextBoxdireccion.
62
• Ahora inserta un botón de comando, para esto haz clic en el icono
• Dibuja el objeto.
• Selecciona el botón.
• Haz clic derecho.
• Selecciona Propiedades.
• En Propiedades, en Name digita btninsertar, recuerda que a los
nombres (Name) se aplican los criterios de los nombres de las macros.
64
CARGAR UN FORMULARIO EN EXCEL
Una macro es una serie de instrucciones que se almacenan para que se puedan
ejecutar de forma secuencial mediante una sola llamada u orden deejecución.
• Selecciona el botón.
• Selecciona el botón.
• Haz doble clic sobre el botón.
Digita el código:
Private Sub btnagregar_Click()
Load frmclientes
frmclientes.Show
End Sub
Para que se cargue el formulario en una posición más adecuada en la pantalla del
ambiente de Excel realiza lo siguiente:
66
• Selecciona el formulario.
67
• Haz clic derecho, selecciona Propiedades.
• En Left digita 250.
• En Top digita 250.
Puedes jugar colocando valores en estas dos propiedades para lograr una mejor
ubicación de tu formulario en tu pantalla de Excel.
PROGRAMAR UN FORMULARIO
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.
Para esto programaremos el formulario clientes que permitirá ingresar datos en la
hoja de cálculo.
En el ejercicio anterior realiza lo siguiente:
68
• Selecciona la primera caja de texto.
• Haz doble clic sobre el objeto.
69
• De similar forma procede para los objetos TextBoxdireccion.
• Selecciona la caja de texto.
• Haz doble clic sobre el objeto.
• Se visualiza el área en donde se puede digitar el código.
• Digita el código:
70
• Haz clic en el icono para regresar al ambiente de Ms Excel.
71
• Haz clic en el botón Agregar Clientes.
• Visualiza el formulario.
• Ingresa los datos.
• Visualiza los datos ingresados.
73
Private Sub
btninsertar_Click() 'inserta un
renglón
Selection.EntireRow.Insert
'Empty limpia los Textbox
TextBoxnombre = Empty
TextBoxdireccion = Empty
TextBoxtelefono = Empty
'Envía el cursor a TextBoxnombre
TextBoxnombre.SetFocus
End Sub
74
• Haz clic en el icono para regresar al ambiente de Ms Excel.
75
• Prueba el botón Salir.
• Un WordArt
• Un botón de Controles ActiveX.
• Tres etiquetas, Nombre, Edad y Días vividos.
77
Private Sub btnagregar_Click()
Load frmedad 'Carga el formulario frmedad
frmedad.Show 'Visualiza el formulario frmedad
End Sub
78
Private Sub TextBoxnombre_Change()
Range("A9").Select
79
ActiveCell.FormulaR1C1 = TextBoxnombre
End Sub
Peña, R. y Pérez, A. (2010). Microsoft Office 2010. Colonia del Valle: AlfaOmega.
81