Вы находитесь на странице: 1из 25

Macros y lenguaje VBA

Aprender a programar con Excel (3ª edición)

Capítulo 1: Introducción
A. Introducción
14

B. ¿A quién va dirigido este libro?


14

C. ¿Qué es una macro?


14

D. ¿Qué interés tiene hacer macros?


15

E. Contenido del libro


15

Capítulo 2: El editor de Visual Basic


A. Introducción
18

B. ¿Cómo iniciar Visual Basic Editor?


18
1. Versión Excel 2003 (o anterior)
18
2. Versión Excel 2007 (o posterior)
19

C. La interfaz
20
1. Los módulos
21
2. Los cuadros de diálogo personalizados
23

www.ediciones-eni.com © Ediciones ENI 1/25


Macros y lenguaje VBA
Aprender a programar con Excel (3ª edición)

3. Las barras de herramientas


25

Capítulo 3: La programación en Visual Basic


A. Introducción
28

B. ¿Qué es un objeto?
28
1. Propiedad de un objeto
28
2. Método de un objeto
28

C. Regla de codificación
29
1. Asociación de objetos
30
2. Asociación de propiedades o de métodos
30

D. Ayuda en línea
31

E. Codificación de las celdas y de los rangos de celdas


31
1. La celda
31
2. El rango de celdas
32
3. Las celdas nombradas
32

F. Significado del signo =


33

G. Los procedimientos

www.ediciones-eni.com © Ediciones ENI 2/25


Macros y lenguaje VBA
Aprender a programar con Excel (3ª edición)

34

H. Las funciones
34

Capítulo 4: Primer programa


A. Introducción
38

B. La Grabadora de macros
38
1. Versión Excel 2003 (o anterior)
38
2. Versión Excel 2007 (o posterior)
39

C. Primer ejercicio
41

D. Examen del código


45

E. Ejecución del código


46

F. Otras técnicas para mejorar el código


47
1. Grabar acciones con dos hojas de cálculo
47
2. La instrucción Select
48
3. La instrucción Copy
48
4. Transferencia de datos
49
5. El bloque de datos With ... End With
49

www.ediciones-eni.com © Ediciones ENI 3/25


Macros y lenguaje VBA
Aprender a programar con Excel (3ª edición)

6. El código optimizado
50

G. Síntesis
51

Capítulo 5: Las variables


A. Introducción
54

B. ¿Qué es una variable?


54

C. El método MsgBox
55
1. Vista de un mensaje personalizado
55
2. Ver el resultado de una variable
56
3. Personalizar el mensaje
56

D. Declaración de una variable


58
1. ¿Declaración obligatoria o no?
58
2. Comprobación de las declaraciones
59
3. Tipo de variable
60
a. Declaración de texto
60
b. Declaración de números
61
c. Declaración fechas
62
d. Declaración de objetos

www.ediciones-eni.com © Ediciones ENI 4/25


Macros y lenguaje VBA
Aprender a programar con Excel (3ª edición)

63
e. Declaración booleana
63
f. Declaración en Variant, declaración cajón de sastre
64
4. Alcance de las variables
64
a. La instrucción Dim
64
b. La instrucción Static
65
c. La instrucción Public
66

E. Caso práctico de utilización de una variable


66

F. El método InputBox
68

G. Las tablas en memoria


69
1. Presentación
69
2. Las ventajas de trabajar con tablas
70

Capítulo 6: Las condiciones


A. Introducción
72

B. La instrucción If
72
1. Presentación
72
2. Ejemplo de aplicación
73

www.ediciones-eni.com © Ediciones ENI 5/25


Macros y lenguaje VBA
Aprender a programar con Excel (3ª edición)

3. Explicación
74
4. Transformación del código
74
5. Abreviatura de escritura
75
6. Condición anidada
76

C. La instrucción SELECT CASE


77
1. Presentación
77
2. Ejemplo de utilización
78
a. Test a un solo valor
78
b. Test en varios valores no contiguos
78
c. Test en valores contiguos
79
3. Reversibilidad
79

D. ¿IF o SELECT CASE?


81

E. Ejemplo de uso de dos instrucciones


81
1. Crear un test en función de los parámetros
81
2. Crear los parámetros
82
3. Crear un test en el programa
83
4. Programa completo
85

Capítulo 7: Los bucles

www.ediciones-eni.com © Ediciones ENI 6/25


Macros y lenguaje VBA
Aprender a programar con Excel (3ª edición)

A. Introducción
88

B. La instrucción For ... Next


88
1. Etapas de un bucle For ... Next
88
2. Primer ejemplo de bucle
89
3. Explicación del código
89
4. Ejemplo de bucle con dos variables
90
a. Etapa nº 1
90
b. Etapa nº 2
91
c. Etapa nº 3
91
d. Síntesis
91

C. Bucle según condición


92
1. While ... Wend
92
a. Principio
92
b. Ejemplo de aplicación
92
c. Obligación
93
2. Ejemplo de código
93
3. Do ... Loop
97
a. Presentación
97
b. Ejemplo de aplicación
97

www.ediciones-eni.com © Ediciones ENI 7/25


Macros y lenguaje VBA
Aprender a programar con Excel (3ª edición)

c. Explicación del código


99
d. Mejora del código
99
e. Trabajar con dos hojas
101

D. Bucle en objetos Excel


102
1. Presentación
102
2. Explicación del código
102

Capítulo 8: Depuración
A. Presentación
106

B. Buenas prácticas
107

C. Lectura "Paso a paso"


108
1. La tecla 8
108
2. La combinación de teclas m 8
109

D. Inspeccionar las variables


110

E. La ventana Inspecciones
112

F. La ventana de variables locales


113

www.ediciones-eni.com © Ediciones ENI 8/25


Macros y lenguaje VBA
Aprender a programar con Excel (3ª edición)

G. El punto de interrupción
115

H. La instrucción Debug.Print
117

I. Interrupción según condición


118

J. Intervenir durante la ejecución del código


120
1. Vuelta atrás
120
2. Cambiar manualmente el valor de las variables
121

K. Ejemplo de aplicación de la depuradora


123
1. Resolución del primer error
124
2. Resolución del segundo error
126

Capítulo 9: Estructura de un programa


A. Dividir un programa en varios procedimientos
130
1. Código inicial
130
2. División del código
131
3. La instrucción Call
132
4. El interés de dividir en varios procedimientos
133

B. Alcance de las variables


133

www.ediciones-eni.com © Ediciones ENI 9/25


Macros y lenguaje VBA
Aprender a programar con Excel (3ª edición)

1. Vuelta a la declaración de las variables


134
a. Dim dentro de un procedimiento
134
b. Dim al principio del Módulo
134
c. Declaración en Public
136
2. Dim o Public
137

C. Parámetros de llamada
137
1. Principio de transmisión de variables locales
137
a. Respeto del tipo de variable
138
2. Ayuda en la escritura y en la navegación
139
a. Uso de las etiquetas informativas
139
b. Navegación simplificada
140
3. Flexibilidad de programación
141
a. Finalizar el programa
143
b. Procedimientos invisibles
144

D. Las llamadas a funciones


145
1. Crear una función personalizada con parámetros
145
2. Llamada a la función personalizada
146
3. Afectar un tipo a la función personalizada
147
4. Transmitir un rango de celdas
147

www.ediciones-eni.com © Ediciones ENI 10/25


Macros y lenguaje VBA
Aprender a programar con Excel (3ª edición)

E. Ejemplo de aplicación
148
1. Etapa 1: creación del código para la primera celda
149
2. Etapa 2: extracción del cálculo de la suma en una función
149
3. Etapa 3: creación de la función Media
150
4. Etapa 4: creación del bucle para las filas y explicación del código
151
a. El código
151
b. Explicación del código
151
5. Etapa 5: creación del bucle para las columnas
152
6. Conclusión
153

F. Parámetros opcionales
154

Capítulo 10: Las funciones básicas


A. Los operadores
158
1. Los operadores aritméticos
158
2. Los operadores de comparación
159
3. Los operadores lógicos (o booleanos)
159
4. Simplificación de la escritura de los tests
160

B. Conversión de variable
161

www.ediciones-eni.com © Ediciones ENI 11/25


Macros y lenguaje VBA
Aprender a programar con Excel (3ª edición)

1. Funciones de conversión
161
2. Probar una variable
161

C. Funciones matemáticas
162
1. Funciones usuales
162
2. Las funciones Excel
163

Capítulo 11: Administrar las listas de caracteres


A. Introducción
166

B. Funciones básicas
166
1. El operador &
166
a. Utilización en un programa
166
b. Ejemplo de uso para cambiar el nombre a una hoja
166
c. Entrar en bucle con todos los nombres
167
2. Las tres instrucciones habituales
168
a. La instrucción Left
168
b. La instrucción Right
168
c. La instrucción Len
169
d. Ejemplo de uso de instrucciones de texto
169
e. Extracción de una parte de una celda
170

www.ediciones-eni.com © Ediciones ENI 12/25


Macros y lenguaje VBA
Aprender a programar con Excel (3ª edición)

3. Sustitución
171
a. Función Mid
171
b. Función Replace
171
4. Posicionamiento de un carácter
172
a. La instrucción InStr
172
b. La instrucción InstrRev
173
5. Cortar una cadena
174
6. Supresión de los espacios
174
7. Mayúsculas y minúsculas
174
a. Todos los caracteres en mayúsculas
174
b. Todos los caracteres en minúsculas
174
c. Primera letra en mayúscula
175
8. Invertir las letras
175
9. Comparación de cadenas
176
a. Función StrComp
176
b. Función Like
176
10. Los caracteres ASCII
177
a. La instrucción Asc
177
b. La instrucción Chr
178

C. Leer un archivo de texto


178

www.ediciones-eni.com © Ediciones ENI 13/25


Macros y lenguaje VBA
Aprender a programar con Excel (3ª edición)

1. Abrir el archivo de texto


179
a. La ruta o el nombre del archivo
179
b. El tipo de acceso
179
c. Número de archivo
179
2. Leer una línea
180
3. La instrucción EOF
180
4. Cerrar un archivo
180

D. Crear un archivo de texto


181
1. Crear un archivo
181
2. Escribir una línea
181
3. Declarar variables
181
4. Ejemplo de aplicación
182
5. Ejercicios de aplicaciones
183
a. Nueva herramienta : Power Query
183
b. Ejercicio: Extraer los datos de un archivo de texto
184
c. Corte según un carácter de separación
190

Capítulo 12: Administración de las fechas y las horas


A. Introducción
198

www.ediciones-eni.com © Ediciones ENI 14/25


Macros y lenguaje VBA
Aprender a programar con Excel (3ª edición)

B. Introducción a las fechas


198
1. Configurar las fechas
199
2. ¿Mi celda contiene una fecha?
200
3. Dar formato a una fecha
202

C. Las funciones básicas


203

D. Las funciones de extracción


204
1. Extracción de las fechas
204
2. Extracción de las horas
204

E. La instrucción DateSerial
205
1. Convertir un número en fecha
205
2. Realizar operaciones con las fechas
206
3. Manipulación de las fechas
206
4. Meses en letras
207

F. Calcular la diferencia entre dos fechas


209
1. La función SIFECHA en Excel
209
2. La función DATEDIFF en VBA
210
3. Integración de la función SIFECHA de Excel en VBA
211

G. Funciones de semanas

www.ediciones-eni.com © Ediciones ENI 15/25


Macros y lenguaje VBA
Aprender a programar con Excel (3ª edición)

211
1. ¿Qué día de la semana?
211
2. Número de días laborables en la semana
211
3. Número de semana
212
4. Días festivos
213

Capítulo 13: Trabajar en un libro Excel


A. Introducción
216

B. Manipulación de los libros


216
1. Diferencia entre Workbooks y ActiveWorkbook
216
2. Abrir un libro
217
3. Cerrar un libro
217
4. Guardar un libro
218
5. Guardar un libro con un nombre nuevo
218

C. Las propiedades de un libro


218

D. Interactuar con la aplicación Excel


220

E. El objeto Application
221
1. ScreenUpdating
221

www.ediciones-eni.com © Ediciones ENI 16/25


Macros y lenguaje VBA
Aprender a programar con Excel (3ª edición)

2. DisplayAlerts
221
3. StatusBar/DisplayStatusBar
222
4. Llamada a funciones de cálculo de Excel
223
a. Cómo usar las funciones de cálculo de Excel
223
b. La función Match
223
c. La función Index
224
5. Añadir un tiempo de latencia
225
6. El cuadro de diálogo Abrir
226
7. El cuadro de diálogo Guardar como
226
8. Suspender la comunicación con la impresora
227
9. Modo copiar-pegar suspendido
227
10. Llamada a una macro externa
227
11. Hacer que el ordenador hable
228

Capítulo 14: Trabajar con los archivos


A. Introducción
230

B. Operación con archivos


230
1. Copiar un archivo
230
2. Cambiar el nombre de un archivo
230
3. Mover un archivo

www.ediciones-eni.com © Ediciones ENI 17/25


Macros y lenguaje VBA
Aprender a programar con Excel (3ª edición)

231
4. Eliminar un archivo
231
5. Recuperar la hora y la fecha de un archivo
232
6. Averiguar el tamaño de un archivo
232
7. Encontrar un archivo en un directorio
233

C. Operaciones con los directorios


234
1. Definir un directorio de trabajo
234
2. Crear un directorio
235
3. Eliminar un directorio
235
4. Test para saber si un directorio existe
235

D. "Barrer" un directorio
236
1. Bucles con los archivos
236
2. Bucles con los directorios
236
3. Barrer todos los subdirectorios
238

E. Recuperar los datos sin abrir un libro


240

F. Seleccionar un directorioI
241

G. Seleccionar un archivo
242

www.ediciones-eni.com © Ediciones ENI 18/25


Macros y lenguaje VBA
Aprender a programar con Excel (3ª edición)

Capítulo 15: Optimización


A. Introducción
244

B. Instrucciones de búsqueda
244
1. El método FIND
244
2. Resultado de una búsqueda
245
3. Búsqueda del elemento siguiente
246
4. Opciones de búsqueda
247
5. Encontrar el número de la fila
248

C. Las tablas en memoria


249
1. Utilidad de trabajar con tablas en memoria
249
2. Tablas de una o dos dimensiones
249
a. Tabla de una dimensión
249
b. Tabla de dos dimensiones
251
3. Insertar datos en una tabla en memoria
252
4. Borrar una tabla
255
5. Cambiar el tamaño de una tabla
256
6. Tamaño de una tabla
257
7. Buscar en una tabla
258
a. Transferir el contenido de una tabla a un rango de datos
260

www.ediciones-eni.com © Ediciones ENI 19/25


Macros y lenguaje VBA
Aprender a programar con Excel (3ª edición)

D. Las celdas con nombre y las tablas


261
1. Presentación
261
2. Función dentro de un programa
262
3. Coordenadas de las celdas con nombre
263
4. Uso de las tablas
264
a. El objeto ListObject
264
b. Propiedades específicas de las tablas
265
c. Problemas vinculados con la tabla
266

E. Una API para los milisegundos


268

F. El entorno de 64 bits
269
1. La instrucción PtrSafe
269
2. Las variables de 64 bits
269
3. Coexistencia de plataformas de 32 bits/64 bits
270

Capítulo 16: Llamada de aplicaciones externas


A. Introducción
272

B. Eliminar las dll que faltan


272

C. La instrucción CreateObject

www.ediciones-eni.com © Ediciones ENI 20/25


Macros y lenguaje VBA
Aprender a programar con Excel (3ª edición)

274

D. Envío de e-mails Outlook


275
1. Programa para enviar un correo electrónico
275
2. Explicación del código
276
3. Bucles en sus contactos recogidos en una columna
276

E. Creación de un archivo PDF


277
1. Función para la generación de un archivo PDF
277
2. Exportar un libro entero
278
3. Exportar una hoja de cálculo en PDF
279

F. Conectar con una base de datos Access


280
1. Presentación
280
2. Puesta en marcha
281
3. Insertar nuevos registros en Access
283
4. Actualizar una base Access desde Excel
285

Capítulo 17: Iniciar un programa de varias maneras


A. Repaso del inicio por Visual Basic Editor
288

B. Combinación de teclas A 8
288

www.ediciones-eni.com © Ediciones ENI 21/25


Macros y lenguaje VBA
Aprender a programar con Excel (3ª edición)

C. Inicio mediante un botón u otro objeto


289
1. Los botones
289
2. Los botones de opción (o botones radio)
291
3. Los menús desplegables
294
4. Ubicación de los objetos
298

D. Procedimiento Auto_Open/Auto_Close
300

E. Evento en una hoja de cálculo


301
1. Principio de los eventos
301
2. Lista de eventos
301
3. El evento Change
303
4. El parámetro Target
303
5. Controlar la selección
304
6. El evento SelectionChange
304
7. El evento doble clic
305

Capítulo 18: Los cuadros de diálogo personalizados


A. Introducción
308

B. Crear un cuadro de diálogo

www.ediciones-eni.com © Ediciones ENI 22/25


Macros y lenguaje VBA
Aprender a programar con Excel (3ª edición)

308
1. Insertar un nuevo UserForm
308
2. Escribir un código en un UserForm
310
3. Hacer referencia a un UserForm
311

C. Los eventos
312

D. Los controles
313

E. Ubicación de los controles


314

F. Orden de tabulación
319

Capítulo 19: Los controles


A. Introducción
322

B. Las etiquetas (Labels o títulos)


322

C. Los cuadros de texto (o TextBox)


324

D. Los botones (o CommandButton)


325
1. Agregar un botón
326
2. El botón Cancelar
326
3. El botón Aceptar

www.ediciones-eni.com © Ediciones ENI 23/25


Macros y lenguaje VBA
Aprender a programar con Excel (3ª edición)

326

E. Las casillas de verificación (CheckBox)


327

F. Los botones de opción (OptionButton o botones radio)


329

G. Los cuadros de lista (o ListBox)


331
1. Presentación
331
2. Manipular los datos de la lista
332
3. Alimentar una lista en el programa
335

H. Los cuadros combinados (ComboBox o menús desplegables)


337

I. Síntesis
339

Capítulo 20: Gestión de errores


A. Introducción
342

B. Las instrucciones para la gestión de errores


342
1. On Error
342
2. La instrucción Resume
342
3. La instrucción Resume Next
342
4. La instrucción Err
343

www.ediciones-eni.com © Ediciones ENI 24/25


Macros y lenguaje VBA
Aprender a programar con Excel (3ª edición)

5. GoTo
343
6. GoTo 0
343

C. Redirección de errores
343
1. Ejemplo 1
343
2. Ejemplo 2
346
3. Ejemplo 3
346

Anexos
A. Tipos de variables
350

B. Colección de objetos
351

C. Lista de constantes
352

D. Lista de códigos de error transmitidos por Visual Basic


355

E. Lista de caracteres no imprimibles


357

índice
359

Lista de instrucciones, operadores y funciones


367

www.ediciones-eni.com © Ediciones ENI 25/25

Вам также может понравиться