PDF de programación - Visual Basic para Aplicaciones (VBA) en Excel: aspectos elementales

Imágen de pdf Visual Basic para Aplicaciones (VBA) en Excel: aspectos elementales

Visual Basic para Aplicaciones (VBA) en Excel: aspectos elementalesgráfica de visualizaciones

Publicado el 23 de Agosto del 2018
2.432 visualizaciones desde el 23 de Agosto del 2018
1,6 MB
12 paginas
Creado hace 13a (17/11/2010)
Visual Basic para Aplicaciones (VBA) en

Excel: aspectos elementales

Franco Guidi Polanco

Escuela de Ingeniería Industrial

Pontificia Universidad Católica de Valparaíso, Chile

[email protected]

Introducción

Una “macro” es una secuencia de instrucciones

que automatiza alguna tarea.

Una macro puede ser ejecutada repetidas veces.
Las macros pueden ser creadas de dos formas:

p

Automáticamente, “grabando” una secuencia de

operaciones (más fácil, pero más limitado).

Manualmente, escribiendo una a una las instrucciones

(más complejo, pero más flexible).

Franco Guidi Polanco

17/11/10

Para iniciar (Office 2007)

Barra de herramientas (Office 2007)

Desplegar “ficha de

programador” en cinta de
iopciones

Ficha del programador

Franco Guidi Polanco

17/11/10

3

Franco Guidi Polanco

17/11/10

2

4

Seguridad de macros (Office 2007)

Guardado de archivos en Office 2007

El guardado de planillas que contienen macros

debe hacerse en archivos “con macros
habilitadas”, de extensión XLSM.

Franco Guidi Polanco

17/11/10

5

Franco Guidi Polanco

17/11/10

Tipos de macros en VBA

Escritura de código en VBA

Subrutinas (“VBA sub procedures”): comandos que

realizan tareas.

Funciones (“VBA functions”): retornan un valor,
como las funciones integradas de Excel. Pueden
ser utilizadas por otras funciones o subrutinas, o
directamente desde una celda de una planilla.

Se debe ingresar a la “ventana del editor de VBA”

(oprimir botón Visual Basic en ficha del
programador, o ALT-F11).

El editor de VBA es otra aplicación, pero opera

integradamente con Excel.

Franco Guidi Polanco

17/11/10

7

Franco Guidi Polanco

17/11/10

6

8

Vista del Editor VBA

Inserción de un módulo

Oprimir botón derecho sobre ventana de proyecto

y seleccionar Insertar - Módulo

Franco Guidi Polanco

17/11/10

9

Franco Guidi Polanco

17/11/10

10

Código en un módulo

Sub procedures
Sub procedures

Franco Guidi Polanco

17/11/10

11

Franco Guidi Polanco

17/11/10

12

Ejecución de Sub procedures

Botón ejecutar en editor de VBA

En Excel: Herramientas – Macro - Ejecutar
En Excel: Herramientas Macro Ejecutar

Identificación de Sub procedures

Comienzan con la palabra Sub y terminan con

End Sub .

Se identifican por un nombre (seguido de

paréntesis)

Nombre

Sub

procedure
procedure

Ejemplo:

Inicio Sub
procedure

Fin Sub
Fin Sub
procedure

Franco Guidi Polanco

17/11/10

Paréntesis
(siempre van)
(siempre van)

Instrucciones
de Sub procedure

13

Elementos básicos de cualquier programa
(incluyendo Sub procedures)

Variables

Tipos de
datos
datos,

variables y
operadores
p

Estructuras
de control

Sub procedure

Expresiones

Instrucciones
Instrucciones
elementales

Cada variable se identifica por su nombre (recomendable

que sea significativo).

El nombre de una variable puede contener casi cualquier

letra o símbolo, pero debe comenzar siempre por una letra.

No se deben usar espacios ni comas como parte de un
No se deben usar espacios ni comas como parte de un

nombre de variable, como tampoco los símbolos: #, $, %,
& o !, ni operadores aritméticos.

Por ejemplo:

edad, cantidad_asistentes, NivelLiquido, GASTOS

No hay distinción entre mayúsculas y minúsculas, por lo

tanto los identificadores: balanceFinal, BalanceFinal y
BALANCEFINAL hacen referencia a la misma variable.

Franco Guidi Polanco

17/11/10

15

Franco Guidi Polanco

17/11/10

16

Variables y el operador de asignación

Variables y tipos de datos

VBA, por omisión, crea automáticamente
variables cuando encuentra en el código un
identificador válido.

Para asignar un valor a una variable se debe

utilizar el operador de asignación.

Operador
asignación

identificador_variable = valor

Lado izquierdo

(receptor)

Lado derecho

(valor a asignar)

Si las variables son creadas automáticamente, el

tipo de dato que almacenan depende del valor
asignado:
Si se asigna un número la variable será numérica y se

podrán realizar con ella operaciones aritméticas.

it éti

d á

li

ll

i

dato = 100

Si se asigna un texto (que no represente un número) no

se podrán realizar operaciones numéricas Los textos
se podrán realizar operaciones numéricas. Los textos
deben escribirse siempre entre comillas dobles (“”).

d
l ”
dato = “Hola”



Franco Guidi Polanco

17/11/10

17

Franco Guidi Polanco

17/11/10

18

Variables y tipos de datos

Operadores aritméticos

Caso particular:

Si una variable recibe como valor un texto que q

representa a un número, entonces con esa variable sí se
pueden realizar operaciones aritméticas.

Los argumentos de los operadores aritméticos son

valores numéricos (números o variables
numéricas) y generan como resultado un número.

Operadores:

dato = “100”

l

l

Suma: +
Resta: -
Multiplicación: *
ó *
División: /
División entera: \
División entera: \
Elevación a potencia: ^

Franco Guidi Polanco

17/11/10

19

Franco Guidi Polanco

17/11/10

20

Operadores relacionales

Operadores lógicos

Los operadores relacionales permiten comparar
valores en expresiones. Generan como resultado
un valor lógico (verdadero o falso).

Operadores relacionales:

Mayor: >
Menor: <
Mayor o igual: >=
Menor o igual: <=
Igual: =
Igual: =

l

Los argumentos de operadores lógicos son valores
lógicos y generan como resultado otro valor lógico.

Operadores lógicos (existen otros):
)

g

(

p
And: conjunción
Or: disyunción
Not: negación

Franco Guidi Polanco

17/11/10

21

Franco Guidi Polanco

17/11/10

22

Operador de concatenación

Expresiones

Se utiliza para concatenar dos cadenas de

caracteres:
& (ampersand)

Ejemplo:

“Hola” & “Mundo” “HolaMundo”

nombre = “Hola”
nombre & “Mundo” “HolaMundo”

Aritméticas: generan como resultado un número.

Ejemplo:

(3 * 4) / 5

Lógicas: generan como resultado un valor lógico

(se utilizan generalmente como condiciones).
Ejemplo:

Edad > 18

(Edad > 18) And (Edad < 25)

(Valor <> 8) Or (Numero = 3) Or (Numero < 0)
(
)

(

)

)

(

Franco Guidi Polanco

17/11/10

23

Instrucciones elementales

Instrucciones elementales

Para ingreso de datos mediante un cuadro de

diálogo:
InputBox( texto a desplegar )

Para despliegue de resultados mediante cuadro de

diálogo:
MsgBox texto a desplegar

Franco Guidi Polanco

17/11/10

25

Pedro

Instrucciones elementales

Instrucciones elementales

Para convertir valor a entero (importante en el

ingreso de datos):

CInt( valor )

p

Importante: Toda vez que el usuario ingrese
valores que se suponen enteros, utilizaremos CInt
para convertir el valor leído a entero, a fin de
evitar errores de precisión, propios de otros tipos
de valores.

g

q

ó

d

d

Ej
Ejemplo:

l

edad = InputBox( “Ingrese edad” )
edad = CInt(edad)

Franco Guidi Polanco

17/11/10

27

Para redondear valores:

Round( valor, decimales)
ou d( valo , decimales)

Ejemplo:
Ejemplo:

Round( 1234.567 , 1) 1234.6

Estructuras de control: Secuencia

Estructuras de control: Decisión

Las instrucciones se escriben línea por línea.
Si se desea escribir una instrucción en más de una
Si se desea escribir una instrucción en más de una
línea, se debe utilizar el guión bajo ( _ ) que indica
la continuación en la línea siguiente.

Determina el curso de acción a seguir dependiendo

del valor de verdad de una condición.

If condiciónThen

acciones si condición es verdadera
acciones sicondiciónesverdadera

Else

accionessicondiciónesfalsa
acciones si condición es falsa

Endif

Franco Guidi Polanco

17/11/10

29

Franco Guidi Polanco

17/11/10

30

Estructuras de control: Decisión

Ejemplo

Ejemplo: programa que pide al usuario una nota. Si la nota

es igual o superior a cuatro, escribe APROBADO, en caso
contrario escribe REPROBADO.

ib REPROBADO

t

i

Determinar si un número ingresado es o no par:

Franco Guidi Polanco

17/11/10

31

Estructuras de control: Iteración

Estructuras de control: Iteración

Realiza iteraciones mientras una condición es

verdadera.

Construir un procedimiento que calcule la suma de

los N primeros enteros, con N proporcionado por
el usuario.

Do While condición

instrucción 1
instrucción 1
instrucción 2

Loop

Franco Guidi Polanco

17/11/10

33

Franco Guidi Polanco

17/11/10

34

Interacción entre VBA y hojas de cálculo
Interacción entre VBA y hojas de cálculo

Objetos en VBA para Excel

Representan documentos o partes de un

documento de Excel, para acceder y/o modificarlos
desde VBA.

Por ejemplo, un objeto de tipo Range representa

celdas de un documento y permite leer y alterar
los valores guardados en ellas.

Franco Guidi Polanco

17/11/10

35

Franco Guidi Polanco

17/11/10

36

Principales objetos de VBA en Excel

Uso de referencias a objetos

Application
pp

(Excel)

Workbooks

(Libro)

Worksheets

(Hoja)
(Hoja)

Range

(Celdas)

Usando referencias a objetos se pueden acceder a datos en

planillas de Excel.
bj t

A
Acceso a los objetos:
a) Acceso a un Libro:

l

Application.Workbooks(“Ejemplo.xlsm”)
Application.Workbooks( Ejemplo.xlsm )

b) Acceso a una Hoja de un Libro:

Application.Workbooks(“Ejemplo.xlsm”).Worksheets(“Ingresos”)
pp
)

p

g

(

)

j

(

c) Acceso a un Rango (celda) dentro de una Hoja de un Libro:
Application.Wor
  • Links de descarga
http://lwp-l.com/pdf13144

Comentarios de: Visual Basic para Aplicaciones (VBA) en Excel: aspectos elementales (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad