Está en la página 1de 38

DIPLOMADO EN EXCEL PARA

LA GESTIÓN EMPRESARIAL

MICROSOFT EXCEL
CON APLICACIONES
EN VBA

PROF.: Juan Carlos Moncada


EMAIL: jmoncada@senati.pe
¿QUÉ ES UNA MACRO?

Es la automatización
de una tarea
repetitiva mediante el
uso de VBA (Visual
Basic para
Aplicaciones).
CARACTERÍSTICAS DE LA MACRO

• Aplicaciones de las macros:


– Dar formatos
– Realizar cálculos
– Mostrar gráficos
– Importar y exportar datos
FICHA PROGRAMADOR

La activamos dando un clic


EDITOR DE VISUAL BASIC Alt+F11

Explorador
de Proyectos

Formulario
Ventana de
Cuadro de
Propiedades
Herramientas
SEGURIDAD DE MACROS

Habilitar todas las macros

Configuración
de Macros
PARA GUARDAR ARCHIVOS

Libro de
Excel (.xlsx)

Libro de Excel habilitado


para macros (.xlsm)
PROGRAMACIÓN ORIENTADA
A OBJETOS (POO)

La Programación orientada a objetos (POO)


es aquella en la que todas sus instrucciones
hacen referencia a los elementos (objetos).

OBJETO
Un objeto es una entidad provista de un conjunto de
atributos (propiedades), de un comportamiento o
funcionalidad (métodos) y de sus posibles relaciones
con otros objetos.
PROGRAMACIÓN ORIENTADA
A OBJETOS (POO)

PROPIEDAD
Auto.color = Verde
MÉTODO
Auto frena (reconoce la acción).
OBJETO: Auto

PROPIEDAD
ActiveSheet.Name = "Ingresos"
MÉTODO
Sheets("Ingresos").Select

OBJETO: Hoja
JERARQUÍA DE OBJETOS

Excel es un objeto llamado Application

Excel contiene libros Workbooks.

El libro contiene hojas


Worksheets
Jerarquía de Objetos
La hoja tiene
Modelo de Objetos celdas Range
de Excel
COMPOSICIÓN DE LA MACRO

Cada macro en Visual Basic se compone de lo siguiente:

Sub Nombre_Macro()
instrucciones
End Sub
¿QUÉ ES UN PROCEDIMIENTO?

Definición:
Se puede definir básicamente como una unidad de
código informático, compuesta por distintas sentencias
y estructuras de control que realiza alguna acción.

Procedimiento Sub Procedimiento Function


TIPOS DE PROCEDIMIENTO

PROCEDIMIENTO SUB
Características:
1. Conformado por varias sentencias.
2. Se ejecuta de varias maneras.
TIPOS DE PROCEDIMIENTO

PROCEDIMIENTO FUNCTION
Características:
1. Contiene argumentos y devuelve un solo valor.
2. Se llama desde otro procedimiento VBA.
3. Se puede usar como función de hoja de cálculo.
DECLARACIÓN DE VARIABLES

SENTENCIA DIM
Sintaxis:
Dim NombreDeVariable As TipoDeDatos

CONSTANTES
Sintaxis:
Const Nivel As Integer
TIPOS DE VARIABLES
APLICACIÓN PRÁCTICA
INGRESO DE DATOS

FUNCIÓN INPUTBOX
Muestra un mensaje en un cuadro de diálogo y
espera que el usuario escriba un texto o haga clic en
un botón. Devuelve un tipo String con el contenido
del cuadro de texto.
Sintaxis:
InputBox(Prompt[,Title][,Default][,XPos][,YPox]
[,HelpFile] [,Context])
APLICACIÓN PRÁCTICA
MOSTRAR RESULTADOS

FUNCIÓN MSGBOX()
Muestra un mensaje en un cuadro de diálogo y
espera a que el usuario haga clic en un botón y
devuelve un tipo Integer correspondiente al botón
elegido por el usuario.
Sintaxis:
MsgBox (Prompt [,Buttons] [,Title] [,HelpFile]
[Context])
EL ARGUMENTO BUTTONS
APLICACIÓN PRÁCTICA
PROBLEMAS PROPUESTOS

1. En la tienda de abarrotes “EL CASERITO” un cliente


compra 4 Kg de arroz a S/3.25 por Kg, 3 bolsas de
azúcar a S/2.05 c/u y 4 cajas de leche a S/4.20 c/u.
Si le hacen un descuento del 10% y los precios no
incluyen IGV, ¿Cuánto pagó en total?
2. El Banco Latino esta ofreciendo una TEA del 18%
para sus productos financieros. Si un cliente retira
un préstamo de 30000 soles. ¿Cuál será el monto a
pagar al cabo de 18 meses?
ESTRUCTURA DE CONTROL

SENTENCIA CONDICIONAL IF … ELSE … END IF


Sintaxis:
If ExpresionCondicional Then
[ Sentencias 1 ]
Else
[ Sentencias 2 ]
End If
APLICACIÓN PRÁCTICA
ESTRUCTURA DE CONTROL

SENTENCIA CONDICIONAL SELECT CASE


Sintaxis:
SELECT CASE VarIndice
Case Valor1:
[ Sentencias ]
Case Valor2, Valor3
[ Sentencias ]
……
Case Else
[ Sentencias ]
End Select
APLICACIÓN PRÁCTICA
PROBLEMAS PROPUESTOS

1. Ingresar 3 números enteros y dar como resultado el


mayor de ellos.
2. Ingresar los 3 lados de un triángulo y clasificarlo
según la medida de sus lados.
3. Crear una calculadora simple que permita ingresar
2 números enteros, además de una operación
básica como la adición, sustracción, multiplicación,
división y potencia. Dar como respuesta el
resultado de dicha operación.
ESTRUCTURA DE CONTROL

SENTENCIA REPETITIVA SENTENCIA FOR … NEXT


Sintaxis:

FOR VarIndice = ValInit TO ValFInal [ STEP Incr ]


[Sentencias]
NEXT
APLICACIÓN PRÁCTICA
ESTRUCTURA DE CONTROL

SENTENCIA REPETITIVA WHILE … WEND


Sintaxis:

WHILE Condicion
[ Sentencias ]
WEnd
APLICACIÓN PRÁCTICA
ESTRUCTURA DE CONTROL

SENTENCIA REPETITIVA DO … LOOP UNTIL


Sintaxis:
DO
[ Sentencias ]
LOOP UNTIL Expresión_de_Comparación
La sentencia DO es lo mismo que WHILE, excepto que
WHILE pregunta antes de ejecutar el bucle; mientras que
DO ejecuta el bucle y luego verifica la condición.
APLICACIÓN PRÁCTICA
EJERCICIOS PROPUESTOS

1. Ingresar 3 números enteros y ordenarlos de mayor


a menor.
2. Ingresar el número de un mes y mostrar su nombre
y la cantidad de días que contiene.
3. Ingresar la clave de una tarjeta de crédito hasta con
3 intentos. Mostrar la activación del Sistema.
4. Ingresar un número de n cifras y dar como
resultado el orden invertido de sus cifras.
5. Mostrar la tabla de multiplicar de cualquier número
en una sola ventana.
RESUMIENDO…

CLASE
OBJETO Cada objeto de Visual Basic
Un objeto es una aplicación está definido por una clase.
o porción de una Una clase describe las
aplicación, como un control variables, propiedades,
o formulario, que puede procedimientos y métodos
tratarse como una unidad. de un objeto.

Clase Tres objetos con diferentes propiedades


Modelo Auto y variables creados de su clase madre.
RESUMIENDO…

COLECCIONES
Una colección es un grupo de objetos de la misma clase.
Una colección es por sí misma también un objeto.
Workbooks (Una colección de todos los objetos Workbook)
Worksheets (Una colección de todos los objetos Worksheet)

REFERENCIAS A OBJETOS
Workbooks(“Libro1”).Worksheets(“Hoja1”)
Workbooks(“Libro1”).Worksheets(1)
Workbooks(“Libro1”).Worksheets(“Hoja1”).Range(“A1”)
Workbooks(“Libro1”).Worksheets(2) .Range(“A1:B2”)

También podría gustarte