9,99 €
Convierta Excel en una potente herramienta de gestión de datos con VBA. ¿Desea crear aplicaciones con acceso a datos desde Excel, Access y SQL Server? Esta obra le ofrece las claves para lograrlo, paso a paso, utilizando el lenguaje VBA de Excel. Gracias a los seis capítulos que componen este libro, aprenderá a crear formularios visuales, a integrar estructuras condicionales y bucles, y a conectar sus proyectos con Access y SQL Server. Asimismo, descubrirá cómo obtener y distribuir información directamente desde Excel, optimizando tareas y reduciendo errores. Dirigido a profesionales, estudiantes y entusiastas de la informática, esta lectura le ayudará a automatizar procesos, gestionar bases de datos con mayor eficacia y desarrollar soluciones personalizadas para su entorno de trabajo. No espere más: lleve sus habilidades con Excel al siguiente nivel y convierta el conocimiento en productividad.
Das E-Book können Sie in Legimi-Apps oder einer beliebigen App lesen, die das folgende Format unterstützen:
Seitenzahl: 140
Veröffentlichungsjahr: 2025
Programación VBA con Excel: base de datos
© Manuel Torres Remón
Derechos reservados © Empresa Editora Macro EIRL, Lima – Perú
Primera edición: Empresa Editora Macro EIRL, Lima – Perú, junio de 2024
Primera edición: MARCOMBO, S.L. 2026
© 2026 MARCOMBO, S.L. www.marcombo.com
Gran Via de les Corts Catalanes 594, 08007 Barcelona
Contacto: [email protected]
Cualquier forma de reproducción, distribución, comunicación pública o transformación de esta obra solo puede ser realizada con la autorización de sus titulares, salvo excepción prevista por la ley. Diríjase a CEDRO (Centro Español de Derechos Reprográficos, www.cedro.org) si necesita fotocopiar o escanear algún fragmento de esta obra
ISBN del libro en papel: 978-84-267-4063-2
ISBN del libro electrónico: 978-84-267-4108-0
Producción del ePub: booqlab
Manuel Torres Remón es ingeniero de Sistemas Computacionales y licenciado en Educación en la especialidad de Computación e Informática, cuenta con veinte años experiencia en consultoría y docencia en áreas de tecnología. Esta amplia experiencia le ha permitido brindar formaciones en las instituciones más importantes de Lima, Perú.
Su formación académica tecnológica inició en el Instituto Manuel Arévalo Cáceres, la cual complementó al estudiar Ingeniería de Sistemas Computacionales en la Universidad Privada del Norte, obteniendo su grado de licenciado a nombre de la Universidad Alas Peruanas. El aprendizaje adquirido de estas instituciones le ha proporcionado una buena formación profesional, lo que le ha permitido desempeñarse satisfactoriamente en las diversas instituciones donde trabaja.
Actualmente, se desempeña como docente de Tecnología en instituciones educativas como la Escuela Superior de Tecnología del SENATI, IEST “Manuel Arévalo Cáceres” y Cibertec. En estas instituciones, imparte cursos de Tecnología, especialmente en Programación, Base de Datos y Análisis de Sistemas.
Para cualquier duda o consulta sobre el material lo puede realizar al email [email protected].
Cubierta
Título
Créditos
Manuel Torres Remón
Índice
Presentación
CAPÍTULO 1: USERFORM Y OBJETOS VISUALES
1.1
UserForm
1.2
Administración de UserForm en VBA
1.2.1
Agregar un UserForm
1.2.2
Modificar el nombre del UserForm
1.2.3
Eliminar un UserForm
1.2.4
Ejecutar un UserForm
1.2.5
Asociar el formulario a la hoja de Excel
1.3
Tiempos en la programación
1.3.1
Tiempo de diseño
1.3.2
Tiempo de ejecución
1.3.3
Pasar del tiempo de diseño a ejecución y viceversa
1.4
Nomenclatura de nombres a objetos
1.5
Principales controles visuales y sus propiedades
1.5.1
Control UserForm
1.5.2
Control Label
1.5.3
Control TextBox
1.5.4
Control CommandButton
1.5.5
Control ListBox
1.5.6
Control ComboBox
1.5.7
Control Frame
1.5.8
Control OptionButton
1.5.9
Control CheckBox
1.5.10
Control de imagen
1.6
Agregar los controles visuales al UserForm
1.7
Ventana de código
1.8
Casos desarrollados
1.8.1
Caso desarrollado 1: control de registro de usuarios
1.8.2
Caso desarrollado 2: control de registro de pago a empleados
CAPÍTULO 2: ESTRUCTURAS CONDICIONALES
2.1
Introducción
2.2
Implementación de una condición
2.3
Estructura If simple
2.4
Estructura If doble
2.5
Estructura If doblemente encadenada
2.6
Estructura de selección múltiple Select-Case
2.7
Casos desarrollados
2.7.1
Caso desarrollado 1: registro de personal
2.7.2
Caso desarrollado 2: registro de venta de productos con pagos aplazados
2.7.3
Caso desarrollado 3: comprobante de pago a los trabajadores
2.7.4
Caso desarrollado 4: control de venta de productos por campaña
2.7.5
Caso desarrollado 5: comprobante de venta de papelería
CAPÍTULO 3: ESTRUCTURAS REPETITIVAS
3.1
Introducción
3.2
Contadores
3.3
Acumuladores
3.4
Estructura For...Next
3.5
Estructura While
3.6
Casos desarrollados
3.6.1
Caso desarrollado 1: movimientos bancarios
3.6.2
Caso desarrollado 2: registro de notas
3.6.3
Caso desarrollado 3: registro de personal
3.6.4
Caso desarrollado 4: tienda comercial de electrodomésticos
3.6.5
Caso desarrollado 5: registro de coches con multas
3.6.6
Caso desarrollado 6: eliminar filas vacías
3.6.7
Caso desarrollado 7: copiar celdas a otra hoja
CAPÍTULO 4: BASE DE DATOS CON EXCEL
4.1
Introducción
4.2
Definición de base de datos 133
4.3
Objetivos de los sistemas de base de datos
4.4
Base de datos en Excel
4.5
Casos desarrollados
4.5.1
Caso desarrollado 1: mantenimiento de empleados
4.5.2
Caso desarrollado 2: búsqueda de información
4.5.3
Caso desarrollado 3: listado de empleados por distrito
4.5.4
Caso desarrollado 4: listado de empleados por la letra inicial de su apellido paterno
4.5.5
Caso desarrollado 5: filtro de ventas por cliente
4.5.6
Caso desarrollado 6: filtro de ventas por año de venta
CAPÍTULO 5: BASE DE DATOS CON ACCESS
5.1
Introducción
5.2
Objetos en Access
5.3
Abrir una base de datos en Access
5.4
Modelo entidad relación en Access
5.5
Visualizar las columnas en las tablas de Access
5.6
Llenar de información las tablas de Access
5.7
Mostrar el modelo entidad relación en Access
5.8
Recuperación de datos mediante la sentencia Select de SQL desde Access
5.9
Agregar referencias a Access
5.10
Listado de registro simple
5.10.1
Caso desarrollado 1: listado de clientes
5.10.2
Caso desarrollado 2: listado de productos
5.11
Listado de registros usando alias
5.11.1
Caso desarrollado: listado de facturas
5.12
Listado de registros especificando campos
5.12.1
Caso desarrollado: listado de clientes especificando campos
5.13
Listado de registros ordenados
5.13.1
Caso desarrollado 1: listado de clientes ordenados
5.13.2
Caso desarrollado 2: listado de clientes desde un UserForm
5.14
Listado de los primeros registros
5.14.1
Caso desarrollado: consulta de productos desde un UserForm
5.15
Listado de registros sin repetir valores
5.15.1
Caso desarrollado: consulta de facturas desde un UserForm
5.16
Listado de registros condicionados
5.16.1
Casos del funcionamiento de la cláusula Where en la sentencia Select
5.16.2
Caso desarrollado 1: consulta de facturas por años desde un UserForm
5.16.3
Caso desarrollado 2: consulta de clientes desde un UserForm (agenda)
5.16.4
Caso desarrollado 3: mantenimiento de productos
CAPÍTULO 6: BASE DE DATOS CON SQL SERVER
6.1
Introducción
6.2
SQL Server
6.3
Modelo entidad relación de SQL Server
6.4
Recuperación de datos mediante la sentencia Select de SQL desde SQL Server
6.5
Agregar una referencia
6.6
Listado de registros simple
6.6.1
Caso desarrollado: listado de productos, proveedores y notas de pedidos desde SQL Server
Bibliografía
Cover
Índice
Start
El libro de Programación VBA con Excel: base de datos le ayudará a crear aplicaciones con acceso a datos desde Excel, Access y SQL Server usando el lenguaje VBA de Excel.
Para cumplir con dicho objetivo, se ha dividido el libro en seis capítulos.
En el primer capítulo se hace referencia al uso de los objetos visuales de VBA y el manejo de formularios.
En el segundo capítulo se hace alusión a las sentencias condicionales y su integración en los formularios usando los objetos visuales de VBA.
El tercer capítulo se centra en la implementación de sentencias repetitivas y su integración en los formularios.
En el cuarto capítulo se hace uso de las bases de datos desde las hojas de Excel, es decir, la información se obtiene desde el mismo Excel.
En el quinto capítulo se hace uso de Access como motor de bases de datos y que la información sea llevada a las hojas de Excel.
Finalmente, en el sexto capítulo se hace referencia al uso del motor de base de datos SQL Server como fuente de la información, que al final resultará distribuido en las hojas de Excel.
Proporciona un mecanismo para implementar aplicaciones VBA de forma gráfica, muchas veces reconocida como Interfaz Gráfica de Usuario o simplemente GUI. A partir de este punto podrá crear aplicaciones basadas en formularios e integrarlas a las hojas de Excel de la forma que crea conveniente. Por otra parte, se puede mencionar que los UserForm permiten una interacción integrada con el usuario, es decir, que es la única forma en que el usuario final proporcione información a los programas en VBA.
A. Pasos para crear un UserForm en VBA
1. Inserte un UserForm al libro de trabajo.
2. Agregue los controles visuales al UserForm.
3. Mediante las propiedades, modele los controles y el mismo formulario, de tal manera que pueda ser legible para el usuario.
4. Agregue funciones o procedimientos a los controles.
5. Enlace el formulario a la hoja de Excel mediante un botón.
B. Ejemplo de uso del UserForm
En esta imagen se presenta un formulario que solicita datos, los cuales pueden ser enviados a una hoja de Excel o simplemente gestionarlo directamente desde el formulario.
Figura 1. Formulario de ventas
En la siguiente imagen se muestran los datos que se visualizan en el formulario, los cuales son enviados a la hoja de Excel con datos listos para la impresión. La función principal de VBA es el uso de los datos que se encuentran en las hojas de cálculo como si fueran una fuente de datos y viceversa. Las hojas se pueden llenar con datos proporcionados desde los UserForm. Por lo tanto, en este capítulo se verá la integración de los UserForm y las hojas de cálculo.
Figura 2. Registro de ventas en Excel
En este punto, se presentarán algunas funcionalidades que presentan los UserForm debido a que es importante reconocer cómo gestionar los formularios en VBA.
Los UserForm representan la forma visual de mostrar una aplicación en VBA, lo que genera más interactividad entre el usuario y la aplicación. Con respecto a la cantidad de formularios en un proyecto VBA, no hay límite, puesto que se agregan formularios de acuerdo a la necesidad del proyecto.
1. A continuación, se indicarán algunas formas de agregar un UserForm desde el entorno VBA:
a. Desde el menú Insertar, seleccione la opción UserForm.
b. Desde el panel Explorador de proyectos, haga clic derecho y seleccione Insertar>UserForm.
2. Al agregar un Userform, el aspecto completo del entorno VBA se muestra de la siguiente manera:
3. Asimismo, en el Explorador de proyectos, todos los formularios se encuentran dentro de una carpeta llamada Formularios, por lo que esta organización ya viene predeterminada por VBA con el fin de mantener ordenados los objetos del proyecto VBA.
En vista de que se pueden agregar muchos UserForm al proyecto, se debe considerar el asignar un nombre adecuado a cada UserForm. Para cambiar el nombre del UserForm se deben seguir los siguientes pasos:
1. Seleccione un UserForm desde la ventana Explorador de proyectos.
2. Ubique (Name) en las propiedades y modifique su nombre. Se recomienda que dicho nombre comience con la palabra frm, tal como se muestra en la siguiente imagen con frmPago o frmVenta.
Se deben seguir los siguientes pasos:
1. Seleccione un UserForm desde la ventana Explorador de proyectos.
2. Haga clic derecho sobre dicho UserForm y seleccione la opción Quitar, el cual suele estar acompañado del nombre que se le asignó al UserForm.
3. A la pregunta “¿Desea exportar <Nombre del Formulario> antes de quitarlo?” seleccione No para eliminarlo definitivamente.
El término ejecutar hace referencia al aspecto final que tendrá el UserForm frente al usuario. También se puede especificar cómo visualizar el diseño final del proyecto.
Para ejecutarlo se realizarán los siguientes pasos:
1. Haga doble clic sobre un UserForm desde la ventana Explorador de proyectos; esto hará que dicho UserForm sea el activo.
2. Luego, realice cualquiera de las siguientes opciones:
a. Presione F5.
b. Desde el menú, seleccione Ejecutar > Ejecutar.
c. Haga clic en el botón , que se encuentra en la barra de herramientas estándar del entorno VBA.
Por otra parte, para salir del modo de Ejecución se puede realizar cualquiera de las siguientes opciones:
a. Cierre directamente la ventana del UserForm.
b. Seleccione el botón desde la barra de herramientas estándar del entorno VBA.
En la mayoría de ocasiones, un UserForm se asociará a una hoja de Excel con la idea de enviar información o mostrar algún resultado esperado. A continuación, se mostrará cómo invocar un formulario desde la hoja de Excel.
A. Por medio de un botón
1. Desde la ficha Programador, seleccione la opción Botón de los Controles de formulario que se encuentra dentro de Insertar, y arrastre formando un cuadro en la hoja de Excel.
2. Verá la siguiente ventana, desde la cual seleccionará el botón Nuevo:
3. Luego, invoque el UserForm por medio de código VBA, así como se muestra en la siguiente imagen:
.Show es una propiedad que permite mostrar un objeto visual del tipo UserForm, lo contrario se llama ocultar al UserForm. Esto quiere decir que, cuando hay varios UserForm, no todos pueden mostrarse al mismo tiempo, por lo que se puede usar el código frmVenta.Hide para administrarlo de la mejor manera posible.
4. Finalmente, modifique el texto que se observa en el botón, pues inicialmente el texto se muestra como Botón1. Por tanto, para modificarlo, haga clic derecho sobre el botón y seleccione Modificar texto, lo que queda de la siguiente manera:
B. Por medio de una imagen
1. Agregue una imagen a la hoja de Excel.
2. Haga clic derecho sobre dicha imagen y seleccione Agregar macro...
3. Los pasos siguientes son los mismos aplicados en “Por medio de un botón”.
C. Por medio de una forma
1. Agregue una forma a la hoja de Excel.
2. Haga clic derecho sobre dicha forma y seleccione Agregar macro...
3. Los pasos siguientes son los mismos aplicados en “Por medio de un botón”.
Cuando se implementa una aplicación VBA se trabajará en dos tiempos: en la primera fase se diseñará la aplicación; y en la segunda se verán los resultados. De acuerdo con esto último, se modificará o no la aplicación, de tal manera que cumpla con los objetivos específicos del problema. A estos tiempos se les llama tiempo de diseño y tiempo de ejecución respectivamente.
Se le llama así cuando el programador coloca los controles sobre el UserForm, cambia las propiedades de dichos controles y asigna código VBA en algunos de ellos.
En la siguiente imagen se observa un UserForm en tiempo de diseño. Además, se debe comprobar que todos los controles se puedan manipular, es decir, que se puedan mover, copiar o eliminar.
Figura 3. Tiempo de diseño
Se le llama así cuando el UserForm está preparado para la exposición frente al usuario final, por lo que se podrá usar la aplicación de la manera que lo crea conveniente.
Figura 4. Tiempo de ejecución
Para pasar del tiempo de diseño al tiempo de ejecución se puede realizar cualquiera de las siguientes opciones:
a. Presione F5.
b. Desde el menú, seleccione Ejecutar > Ejecutar.
c. Seleccione el botón desde la barra de herramientas estándar del VBA.
Por otra parte, para pasar del tiempo de ejecución al tiempo de diseño se debe cerrar la ventana del UserForm, o presione el botón desde el cuadro de herramientas estándar del VBA.
Antes de que se expliquen todos los controles que posee VBA, se deben considerar los nombres que se les dará a dichos controles. Pues así como las variables tienen un nombre que lo especifique, se debe asignar un nombre a todos los controles dentro del UserForm.
Asimismo, se debe tener en cuenta que para asignar los nombres de los controles existe una nomenclatura, la cual permite identificar con qué tipo de control se está trabajando. Esta nomenclatura sugiere usar tres letras significativas de controles, tal como se verá en la siguiente tabla:
Tabla 1. Nomenclatura de nombres
CLASE
PREFIJO
EJEMPLO
UserForm
frm
frmVenta
Etiqueta (Label)
lbl
lblTotal
Cuadro de texto (TextBox)
txt
txtFecha
Botón de comando (CommandButton)
btn
cmd
btnCalcular
cmdCalcular
Cuadro de lista (ListBox)
lst
lstPaises
Cuadro combinado (ComboBox)
cbo
cboProductos
Casilla de comprobación (CheckBox)
chk
chkEstado
Botón de opción (OptionButton)
opt
optCasado
Imagen (Image)
img
imgFoto
Marco (Frame)
fra
fraEstadisticas
Fuente: Elaboración propia
En la siguiente imagen se muestran los controles visuales del Cuadro de herramientas, que está compuesto por dieciséis iconos:
A partir de la imagen anterior, se ha elaborado una lista de los controles con sus principales propiedades:
Tabla 2. Lista descriptiva de los controles visuales
Control
Nombre del Control
Descripción
Select Objects
Permite seleccionar los objetos colocados en un UserForm. Asimismo, este control permite anular la selección de otro control.
Label
Permite colocar textos estáticos dentro de un UserForm. Normalmente, es usado para títulos o mensajes dentro del formulario.
TextBox
Permite intrdocuir un valor textual dentro del formulario. Asimismo, es la única forma de pasar información desde el usuario a la aplicación. Además, se podría agregar información de la descripción del producto, la introducción de la edad del empleado, etc.
ComboBox
