Steve Jobs pronunció en 1995 que “todo el mundo debería aprender un lenguaje de programación, porque eso te enseña a pensar”. Esta frase me hizo reflexionar profundamente por toda la carga que transmite su mensaje y por el potente significado que hay detrás.
Cualquiera que trabaje con Hojas de Cálculo de MS Excel ha tenido que realizar tareas repetitivas en alguna ocasión: VBA Excel es la solución. VBA Excel permite ahorrar mucho tiempo de trabajo, reducir la tasa de error asociada al manejo de los datos, mecanizar las tareas y crear nuevas funciones para dar solución a las necesidades del usuario.
Con este libro aprenderás a desarrollar tus propias macros en MS Excel y podrás optimizar tu trabajo. En el libro se comienza explicando los objetos más sencillos, hasta llegar a aquellos más complejos, siguiendo una metodología didáctica y secuencial de formación y acompañada de cientos de ejercicios y ejemplos prácticos.
Además, podrás descargar gratuitamente cincuenta ejemplos prácticos resueltos que podrás utilizar en tu ámbito personal o laboral y que dan solución a las necesidades más comunes que te puedes encontrar trabajando con MS Excel.
El libro contiene material adicional que podrás descargar accediendo a la ficha del libro en www.ra-ma.es.
- ACERCA DEL AUTOR
- PRÓLOGO
- CAPÍTULO 1
- ¿QUÉ ES VBA?
- PERSONALIZANDO LA CINTA DE OPCIONES DE MS EXCEL
- NUESTRA PRIMERA MACRO EN MS EXCEL
- ¿CÓMO GUARDAR NUESTRO LIBRO DE MS EXCEL CON MACROS?
- DESBLOQUEANDO ARCHIVOS\CARPETAS
- EJECUTAR MACRO INSERTANDO BOTÓN DE FORMULARIO
- EJECUTAR MACRO POR COMBINACIÓN DE TECLAS
- MACROS CON REFERENCIAS ABSOLUTAS\RELATIVAS
- CAPÍTULO 2
- OBJETOS EN VBA EXCEL
- PROPIEDADES DE UN OBJETO EN VBA EXCEL
- MÉTODOS DE UN OBJETO EN VBA EXCEL
- UTILIZANDO LAS PROPIEDADES Y LOS MÉTODOS EN VBA EXCEL
- VER TODAS LAS PROPIEDADES Y MÉTODOS
- EVENTOS EN VBA EXCEL
- CAPÍTULO 3
- EL EDITOR DE VBA EXCEL
- ¿DÓNDE PODEMOS ESCRIBIR CÓDIGO VBA EXCEL?
- MÓDULO DE LIBRO
- MÓDULO DE HOJA
- MÓDULO ESTÁNDAR
- PRIMER CÓDIGO VBA EXCEL SIN USAR GRABADORA DE MACROS
- EL OBJETO MÁS BÁSICO EN VBA EXCEL: CELDAS (RANGE Y CELLS)
- CAPÍTULO 4
- PROPIEDADES MÁS USADAS EN RANGOS DE CELDAS
- PROPIEDAD OFFSET Y MÉTODO END
- OFFSET (AVANZAR ENTRE CELDAS)
- END (BUSCAR LA ÚLTIMA CELDA DENTRO DE UN RANGO)
- ÚLTIMA\PRIMERA CELDA SI HAY FILAS\COLUMNAS VACÍAS
- COMBINAR EL MÉTODO END PARA SELECCIONAR RANGOS
- COPIAR Y MOVER CELDAS
- ELIMINAR (FÍSICAMENTE) CELDAS, FILAS Y COLUMNAS
- CAPÍTULO 5
- COLECCIONES WORKSHEETS, SHEETS Y CHARTS
- MÉTODOS QUE AFECTAN A LAS HOJAS DE CÁLCULO
- CREAR HOJAS (MÉTODO ADD)
- ELIMINAR HOJAS (MÉTODO DELETE)
- MOVER O DESPLAZAR HOJAS (MÉTODO MOVE)
- COPIAR HOJAS (MÉTODO COPY)
- PROTEGER HOJAS (MÉTODO PROTECT\UNPROTECT)
- OCULTAR HOJAS (MÉTODO VISIBLE\OCULTA\MUY OCULTA)
- COLECCIÓN LIBROS DE TRABAJO (WORKBOOKS)
- CREAR UN LIBRO DE TRABAJO (MÉTODO ADD)
- GUARDAR UN LIBRO DE TRABAJO (MÉTODO SAVE AS\SAVE)
- CREAR UN ARCHIVO PDF (MÉTODO EXPORTASFIXEDFORMAT)
- ABRIR UN LIBRO DE TRABAJO (MÉTODO OPEN)
- CERRAR UN LIBRO DE TRABAJO (MÉTODO CLOSE)
- HACER REFERENCIA A UN LIBRO DE TRABAJO (MÉTODO ACTIVATE)
- ACTIVEWORKBOOK
- THISWORKBOOK
- ACCEDER A LAS HOJAS DE UN LIBRO DE TRABAJO
- EJECUTAR UN PROCEDIMIENTO: BOTÓN DE COMANDO ACTIVEX
- CAPÍTULO 6
- EMPEZAMOS A TOMAR DECISIONES
- IF CON VARIAS CONDICIONES (USO DEL CONECTOR AND)
- ¿QUÉ HACER SI NO SE CUMPLE LA CONDICIÓN? IF-THEN-ELSE
- IF CON VARIAS CONDICIONES (USO DE OR)
- MÚLTIPLES OPCIONES (USO DE ELSEIF)
- EJEMPLO PRÁCTICO: USO DE IF, ELSEIF, AND, OR, ELSE.
- USO DE SELECT CASE
- BUCLES EN VBA EXCEL
- BUCLE FOR … NEXT
- SALIR DE UN BUCLE FOR-NEXT ANTES DE ALCANZAR EL FINAL
- BUCLE FOR EACH … NEXT
- BUCLE DO … LOOP (UNTIL, WHILE)
- SALIR DE UN BUCLE DO … LOOP ANTES DE ALCANZAR EL FINAL
- BUCLE WHILE … WEND
- DIFERENCIAS ENTRE DO WHILE … LOOP Y WHILE … WEND
- EJERCICIO CON VARIOS TIPOS DE BUCLES
- BLOQUE WITH … END WITH
- CAPÍTULO 7
- VARIABLES, CONSTANTES Y TIPOS DE DATO EN VBA EXCEL
- ¿QUÉ ES UNA VARIABLE EN VBA EXCEL?
- ¿QUÉ ES UNA CONSTANTE EN VBA EXCEL?
- ¿QUÉ ES UN TIPO DE DATO EN VBA EXCEL?
- ¿CÓMO OBLIGAR A DECLARAR VARIABLES? (Option Explicit)
- REGLAS PARA ASIGNAR NOMBRE A LAS VARIABLES
- ASIGNACIÓN DE VALORES A LAS VARIABLES
- ÁMBITO DE LAS VARIABLES (DIM, PUBLIC, PRIVATE, STATIC)
- DECLARACIÓN DE CONSTANTES (PUBLIC\CONST)
- VARIABLES TIPO OBJETO
- ERRORES EN VBA EXCEL
- ERRORES DE SINTAXIS
- ERRORES DE COMPILACIÓN
- ERRORES EN TIEMPO DE EJECUCIÓN
- LISTADO NO EXHAUSTIVO DE CÓDIGO DE ERRORES VBA EXCEL
- ERRORES DE LÓGICA
- CONTROL DE ERRORES (DECLARACIÓN ON ERROR)
- On Error GoTo Etiqueta de Línea
- On Error Resume Next
- On Error GoTo 0
- On Error–Exit Sub
- Err.Number\Err.Description: Atrapando Errores
- Resetear el Error: Err.Clear\ On Error GoTo -1
- VENTANA INMEDIATO
- PUNTOS DE INTERRUPCIÓN Y VENTANA DE VARIABLES LOCALES
- LISTA DE CÓDIGOS COLORINDEX VBA EXCEL
- PROPIEDAD COLOR DE VBA EXCEL
- CAPÍTULO 8
- SINTAXIS MSGBOX EN VBA EXCEL
- USO DE INPUTBOX EN VBA EXCEL
- FUNCIÓN INPUTBOX
- MÉTODO APPLICATION.INPUTBOX (SOLO FUNCIONA BAJO EXCEL)
- CAPÍTULO 9
- MATRICES EN VBA EXCEL
- MATRICES 1D ESTÁTICAS
- MATRICES 1D DINÁMICAS
- ASIGNAR MATRIZ SIN FUNCIÓN ARRAY
- MATRICES MULTIDIMENSIONALES
- FUNCIONES UBOUND Y LBOUND
- ASIGNAR MATRIZ SIN FUNCIÓN ARRAY, NI REDIM
- CAPÍTULO 10
- LAS FUNCIONES DE VBA EXCEL
- USO DE LAS FUNCIONES INTEGRADAS DE MSEXCEL EN VBA EXCEL
- Application.WorksheetFunction.Min()
- Application.WorksheetFunction.Sum()
- Application.WorksheetFunction.Proper()
- Application.WorksheetFunction.IsNonText()
- Application.WorksheetFunction.IsEven()
- Application.WorksheetFunction.IsText()
- Application.WorksheetFunction.IsFormula()
- Application.WorksheetFunction.And()
- Application.WorksheetFunction.Or()
- Application.WorksheetFunction.Round()
- Application.WorksheetFunction.Average()
- Application.WorksheetFunction.Product()
- Application.WorksheetFunction.RandArray()
- EJEMPLO CON VARIAS FUNCIONES (USO DE RANGE.END)
- INSERTAR FORMULAS EN HOJAS DE CÁLCULO DESDE VBA EXCEL
- PROPIEDAD RANGE.FORMULA\RANGE.FORMULA LOCAL
- PROPIEDAD RANGE.R1C1\RANGE.R1C1LOCAL
- FORMULAS CON VARIABLES
- OTRAS FORMAS DE ASIGNAR FORMULAS A LAS CELDAS
- INSTRUCCIÓN CALL EN VBA EXCEL. USO DE ARGUMENTOS
- TIPOS DE REFERENCIA PARA LOS ARGUMENTOS
- EJEMPLO PROCEDIMIENTO VBA EXCEL BYREF\BYVAL
- EJEMPLO PROCEDIMIENTO VBA EXCEL (PARÁMETRO OPCIONAL)
- FUNCIONES DEFINIDAS POR EL USUARIO (UDF) EN VBA EXCEL
- ESTRUCTURA FUNCIÓN EN VBA EXCEL
- LA PALABRA CLAVE FUNCTION
- PARÁMETROS\ARGUMENTOS DE LA FUNCIÓN VBA EXCEL
- CÁLCULO AUTOMÁTICO\MANUAL
- FUNCIONES CON ARGUMENTOS OPCIONALES
- VALOR DE RETORNO DE LA FUNCIÓN UDF EN VBA EXCEL
- CUERPO DE LA FUNCIÓN UDF EN VBA EXCEL
- RETORNANDO EL VALOR
- ÁMBITO DE LAS FUNCIONES PERSONALIZADAS
- FUNCIONES UDF DISPONIBLES EN TODOS LOS DOCUMENTOS
- FUNCIONES PERSONALIZADAS: VENTAJAS E INCONVENIENTES
- CAPÍTULO 11
- LOS FORMULARIOS EN MS EXCEL
- FORMULARIOS DE DATOS EN MS EXCEL (SIN CÓDIGO VBA EXCEL)
- HOJAS DE CÁLCULO MS EXCEL CON CONTROLES
- DISEÑO DEL FORMULARIO EN LA HOJA DE CÁLCULO
- RESUMEN CONTROLES ACTIVEX EN HOJAS DE CÁLCULO MS EXCEL
- INTRODUCCIÓN A FORMULARIOS DE USUARIO EN VBA EXCEL
- CONVENCIÓN DE NOMBRES PARA CONTROLES EN VBA EXCEL
- FILTRAR\ORDENAR DATOS EN VBA EXCEL
- CUADRO COMBINADO EN HOJAS DE CÁLCULO MS EXCEL
- MÉTODO RANGE.ADVANCEDFILTER (VBA EXCEL)
- CUADRO COMBINADO Y FILTRO AVANZADO EN VBA EXCEL
- FILTRAR REGISTROS CON CUADRO COMBINADO EN VBA EXCEL
- FILTRAR REGISTROS CON CASILLAS DE VERIFICACIÓN
- FILTRAR REGISTROS CON BOTONES DE OPCIÓN
- GRUPO DE BOTONES DE OPCIÓN
- CUADRO COMBINADO Y BOTONES DE OPCIÓN A LA VEZ
- FILTRAR DATOS EN HOJA DE CÁLCULO OCULTA
- ELIMINAR DATOS DUPLICADOS (REMOVEDUPLICATES)
- ORDENAR DATOS
- IMPRESION\PDF DESDE VBA EXCEL
- IMPRIMIR DESDE CONTROL ACTIVEX
- ATRIBUTOS DE CONFIGURACIÓN DE PÁGINA (PAGESETUP)
- ORDENAR ANTES DE IMPRIMIR DESDE CONTROL ACTIVEX
- PUBLICAR PDF (MÉTODO PRINTOUT)
- PUBLICAR PDF (MÉTODO EXPORTASFIXEDFORMAT)
- LISTBOX (CONTROL ACTIVEX)
- FILTRAR CON LISTBOX (CONTROL ACTIVEX)
- AÑADIR DATOS AL LISTBOX (CONTROL ACTIVEX EN VBA EXCEL)
- VACIAR EL LISTBOX (CONTROL ACTIVEX EN VBA EXCEL)
- ELIMINAR DATOS DEL LISTBOX (CONTROL ACTIVEX EN VBA EXCEL)
- COPIAR DATOS ENTRE LISTBOX (CONTROL ACTIVEX VBA EXCEL)
- COPIAR DATOS DE LISTBOX A RANGO CELDAS (CONTROL ACTIVEX)
- COPIAR DATOS DE RANGO CELDAS A LISTBOX (CONTROL ACTIVEX)
- PASAR DATOS ENTRE 2 LISTBOX (CONTROL ACTIVEX VBA EXCEL)
- USO DE PROPIEDAD MULTISELECT LISTBOX (CONTROL ACTIVEX)
- VARIAS COLUMNAS DENTRO DE LISTBOX (CONTROL ACTIVEX)
- GUÍA RÁPIDA PROPIEDADES LISTBOX (CONTROL ACTIVEX)
- CAPÍTULO 12
- FORMULARIOS DE USUARIO VBA EXCEL (USERFORMS)
- RESUMEN DE CONTROLES ACTIVEX EN FORMULARIOS DE USUARIO
- PROPIEDADES, EVENTOS MÉTODOS
- FORMULARIOS PROYECTO FINAL PROGRAMACIÓN VBA EXCEL
- ¿CÓMO CREAR FORMULARIO DE USUARIO (USERFORM)?
- INICIALIZAR FORMULARIO (USERFORM) EN VBA EXCEL
- ASPECTO VISUAL FORMULARIO (USERFORM)
- CÓDIGO VBA EXCEL PROYECTO FINAL (SIN USAR TABLAS EXCEL)
- CAMBIANDO FORMATO DE CELDAS Y ORIGEN DATOS COMBOBOX
- FORMULARIO PRINCIPAL
- LISTAR (PANTALLA\PDF)
- DISEÑO FORMULARIO FILTRAR DATOS (PANTALLA\PDF)
- AUTOFILTRO EN FORMULARIOS DE USUARIO (USERFORMS)
- CÓDIGO VBA EXCEL FORMULARIO FILTRAR DATOS (PANTALLA\PDF)
- CAPÍTULO 13
- PROYECTO FINAL BASADO EN EL USO DE TABLAS DE EXCEL
- LAS TABLAS EN MS EXCEL
- LAS TABLAS EN VBA EXCEL
- EJEMPLO CREACIÓN TABLA EN VBA EXCEL
- MAS COMANDOS VBA EXCEL USANDO TABLAS
- MÉTODO BUSCAR\LOCALIZAR REGISTROS EN TABLA VBA EXCEL
- CAPÍTULO 14
- CÓDIGO VBA EXCEL PROYECTO FINAL USANDO TABLAS
- ¿QUÉ OCURRE AL EJECUTAR LA APLICACIÓN?
- ¿CÓMO LLAMAR AL MENÚ PRINCIPAL?
- ALTA PRODUCTOS
- FILTRAR PRODUCTOS
- EDICIÓN PRODUCTOS
- ANEXO 1
- A.1 CÓDIGO VBA EXCEL COMPLETO APLICACIÓN FRUTERIA
- MATERIAL ADICIONAL