Visual
Basic
Curso: Excel intermedio avanzado
1
Objetivo
Aprender a programar desde una macro sencilla hasta una
aplicación entera (Formulario) con listas desplegables,
botones de opciones, menús, etc.
2
Visual Basic For Application (VBA)- Excel
VBA significa Visual Basic for Application. Es un lenguaje de
programación que surge de Visual Basic (VB). VBA de Excel está
adaptado a Excel, para trabajar con celdas, hojas, autofiltro etc. (es
decir, los objetos de la aplicación Excel).
¿Qué puedo hacer con VBA?
Con este lenguaje de programación puedes crear tus propios
programas en Excel. Estos programas pueden ser todo desde una
macro (una pequeña programa VBA, por ejemplo un atajo
personalizado) hasta una aplicación entera (Formulario) con listas
desplegables, Botones de opciones, menús, etc.
El Editor de Visual Basic (VBE)
El lenguaje de programación que utiliza Excel para trabajar con
macros es el VBA (Visual Basic Application) que como podemos
deducir está basado en Visual Basic.
3
Para ejecutar
Macro o con F5
Explorador de Área de Módulos
Proyectos de Código
Ventana de
Propiedades
4
Definición de Procedimientos y Funciones
Procedimientos
Los procedimientos son subprogramas que permiten descomponer una
tarea de programación compleja en un conjunto de tareas más breves y
simples. Permiten organizar códigos dentro de módulos. Además NO
devuelven valores, comienzan siempre por la instrucción SUB y finalizan
con la instrucción END SUB.
Hay dos tipos de procedimientos SUB:
✓ Los procedimientos Sub generales
✓ Los procedimientos Sub asociados a eventos (_Open, _Click)
5
Acción: abre el VBA y transcribe esta macro y ejecútala.
6
Acción: abre el VBA y transcribe esta macro y ejecútala.
Funciones
Los procedimientos Function, llamados comúnmente funciones, devuelven
un valor que resulta de un cálculo. El valor se devuelve a través del nombre
de la función.
7
Acción : Abre el VBA y copia y pega estas macro y
ejecútalas, luego búscalas en la sección funciones
Function velocidad (espacio, tiempo) If espacio>0 and tiempo>0
then velocidad = espacio / tiempo
End If
End Function
Function interes_compuesto (vactual, interes, periodo) If vactual >0 and
interes>0 and periodo>0 then interes_compuesto = va * ((1+ interes)^ periodo)
End If
End Function
8
Programación de Objetos en Excel 2010
Para crear una macro de forma manual es necesario tener conocimientos de
programación en general y de Visual Basic en particular, ya que es el lenguaje
de programación en el que se basa el VBA de Excel.
Primero debemos abrir el editor Visual Basic presionando la combinación de
teclas: Alt + F11
Una vez abierto el editor de Visual Basic debemos insertar un módulo de
trabajo que es donde se almacena el código de las funciones o
procedimientos de las macros. Para insertar un módulo accedemos al menú
Insertar → Módulo, luego digitamos SUB y el nombre del procedimiento
seguido de dos ( ) – paréntesis y pulsamos ENTER. Para grabar los códigos
escritos debe ser guardado como Libro de Excel habilitado para macros
9
Objetos de Excel
VBA Excel es un lenguaje de programación orientado a objetos. La mayoría
de los elementos que maneja Excel son objetos: los libros, las hojas de
cálculo, Los rangos de celda, las celdas, etc.
Ciertos objetos contienen otros objetos, que pueden también contener
otros. Estos objetos se llaman contenedor u objetos parent. Por ejemplo, el
objeto Application es un contenedor de objetos Workbook (libros abiertos
en Excel) y éste a su vez contiene objetos Worksheet (hojas de cálculo de
un libro).
Un conjunto de objetos del mismo tipo se denomina Colección
(Workbooks; Worksheets; Range)
Un objeto posee un conjunto de características llamadas Propiedades
(Version, Cursor) , sirven para describir un objeto y de acciones sobre los
objetos llamados Métodos (Select, Clear , Save, Close) y a éstos le ocurren
Eventos aplicados por el usuario. (Ej: _Open; _Click() )
10
MODELO DE OBJETOS DEL EXCEL VBA
• ACTIVECELL
• ACTIVEWORKBOOK
OBJETO • ACTIVESHEET
APPLICATION • ACTIVEWINDOW
• WORKBOOKS
• WORKSHEETS
OBJETO • ADD
WORKBOOK • CLOSE
• SAVE
• SAVE AS
OBJETO • NAME
WORKSHEET • COUNT
• SELECT
• Selection
OBJETO
• ActiveCell
RANGE
• Offset
11
El Objeto Application
Representa la aplicación Microsoft Excel activa. Es el objeto por defecto y
por lo tanto es opcional (Ejemplo: Workbooks equivale a escribir
[Link]).
El objeto contiene:
Las propiedades relativas al entorno de Excel y a la presentación de la
interfaz.
Propiedades que devuelven objetos y colecciones de primer nivel
(Workbooks, Worksheets)
Propiedades específicas que hacen referencia directa a objetos:
ActiveCell, ActiveSheet, ActiveWindow, ActiveWorkBook, ActiveChart,
Selection, etc.
12
Ejemplos: Realiza estas macros relativas al objeto Application.
✓ Calcula una sumatoria y un promedio de un rango.
13
✓ Muestra el nombre del usuario Actual
14
El Objeto WorkBook
Este objeto representa un libro de Excel. El objeto Workbook
es un miembro de la colección Workbooks.
También es devuelto por las propiedades del objeto Application:
• Workbooks
• ActiveWorkbook
• ThisWorkBook
15
Métodos
• Add: Crea un Libro nuevo.
• Close: Cierra el libro indicado.
• PrintOut: imprime en papel el libro activo/indicado
• Save: Guarda los cambios en el libro indicado
• SaveAs: Guarda el libro indicado con otro nombre de archivo
• Protect: Protege el libro especificado con una contraseña
• UnProtect: Quita la contraseña
16
Ejemplos:
✓ Realiza esta macro con la ayuda del profesor, en la que se crea un
libro nuevo
17
✓ Ahora, realiza esta macro que graba y cierra inmediatamente un libro
de Excel
18
El Objeto WorkSheet
Este objeto representa una hoja de cálculo Excel. El objeto WorkSheet es un
miembro de la colección WorkSheets del objeto Workbook.
También es devuelto por las propiedades del objeto Application:
Worksheets, ActiveSheet, Sheets.
Propiedades:
• Name: Cadena de caracteres que contiene el nombre de la hoja de cálculo.
• Visible: Boolean. Indica si la hoja de cálculo indicada está visible.
• Count: Muestra el número de hojas creadas en el libro
19
El Objeto WorkSheet
Métodos:
• Activate: Activa la hoja de cálculo especificada. Equivale a dar clic sobre
la etiqueta de la hoja.
• PrintPreview: Muestra la vista preliminar de la hoja indicada antes de
imprimir.
• Select: Selecciona la hoja de cálculo.
• PrintOut : Imprime una copia de la hoja indicada
20
Ejercicio:
✓ La siguiente macro muestra cuántas hojas creadas tiene el libro de
Excel actual.
21
✓ La siguiente macro le asigna un nombre a la hoja actual, previa
digitación por medio de un cuadro de texto.
22
Ejercicio:
✓ Realizar esta macro, ella realiza un ingreso de datos a cada celda en
un rango de datos previamente configurado.
23
✓ Esta macro coloca formato de tipo de letra, tamaño. Efectos : negrilla ,
cursiva y color azul a un rango.
24
Educación
tecnológica
25