Aprende a crear una base de datos en Excel paso a paso usando VBA y macros, con botones para guardar, Buscar, Actualizar, Eliminar, Cerrar y Limpiar.
Todos los pasos están explicados con detalles, sólo sigue cada una de las indicaciones que se describen. Al final de esta entrada, verás un enlace para descargar el archivo de ejemplo y así poder ejecutarlo en tu propia pc.
Antes de comenzar a crear una base de datos en Excel, primero debemos guardarlo como documento habilitado para macros, para ello realizamos los siguientes pasos:
Dentro de la hoja de cálculo, crearemos una tabla donde se guardarán los datos que ingresamos. Para explicar mejor los pasos, usaremos la siguiente imagen como ejemplo:
Como se puede ver en la imagen, la tabla sólo tiene encabezados, y es precisamente eso lo único que crearemos, ya que trabajeremos con una base de datos vacío, en caso que tengas una tabla con muchos registros ingresados no te preocipes, los pasos que realizaremos de aquí en adelante son similares.
Para este ejemplo crearemos los encabezados de la tabla a partir de la celda A5 hasta E5.
La tabla tendrá los siguientes encabezados: ID, NOMBRE, APELLIDO PATERNO, APELLIDO MATERNO y GÉNERO.
Después de crear los encabezados, comenzamos a dar formato a las celdas y texto de los encabezados, para este ejemplo aplicamos los siguientes formatos:
En la parte superior de la tabla crearemos un botón para ver el formulario, para realizarlo sigue los siguientes pasos:
En caso que no tengas activado la pestaña Programador o desarrollador en tu programa Excel, lo que tienes que hacer es lo siguiente:
Dentro del formulario insertaremos 5 etiquetas, 5 cuadro de textos, 2 botones de opción, 1 cuadro de lista y 6 botones.
Para las etiquetas:
Propiedades de la Eiqueta 1:
Propiedades de la Etiqueta 2:
Las propiedades de la Etiqueta 3:
Propiedades de la Etiqueta 4:
Propiedades de la Etiqueta 5:
Para los cuadros de Texto
Las propiedades para el cuadro de texto 1
Propiedades para el cuadro de texto 2
Propiedades para el cuadro de texto 3
Las propiedades para el cuadro de texto 4
Propiedades para el cuadro de texto 5
Para los Botones de Opción
Propiedades para el Botón de Opción 1
Propiedades para el Botón de Opción 2
Para el cuadro de lista
Para los Botones
Las Propiedades para el botón 1
Propiedades para el botón 2
Propiedades para el botón 3
Las Propiedades para el botón 4
Propiedades para el botón 5
Propiedades para el botón 6
Para comenzar a escribir el código correspondiente para cada elemento del formulario, tienes que hacer dos veces clic sobre cada uno de ellos.
Código para el Formulario
Private Sub UserForm_Initialize()
TextBox1 = Application.WorksheetFunction.Max(Hoja1.Range("A:A")) + 1
End Sub
Código para el botón Guardar
Private Sub btnGuardar_Click()
If Len(TextBox2) = 0 Then
MsgBox "Ingrese el Nombre"
TextBox2.SetFocus
Exit Sub
End If
If Len(TextBox3) = 0 Then
MsgBox "Ingrese el Apellido Paterno"
TextBox3.SetFocus
Exit Sub
End If
If Len(TextBox4) = 0 Then
MsgBox "Ingrese el Apellido Materno"
TextBox4.SetFocus
Exit Sub
End If
Dim x As Long
Dim y As Worksheet
Set y = Hoja1
x = y.Range("A" & Rows.Count).End(xlUp).Row + 1
With y
.Cells(x, 1).Value = TextBox1.Text
.Cells(x, 2).Value = TextBox2.Text
.Cells(x, 3).Value = TextBox3.Text
.Cells(x, 4).Value = TextBox4.Text
If Opt1.Value = True Then
.Cells(x, 5).Value = "Masculino"
End If
If Opt2.Value = True Then
.Cells(x, 5).Value = "Femenino"
End If
End With
MsgBox "Se guardó exitosamente"
Unload Me
UserForm1.Show
End Sub
El Código para el botón Limpiar
Private Sub btnLimpiar_Click()
Unload Me
UserForm1.Show
End Sub
Código para el botón Cerrar
Private Sub btnCerrar_Click()
Unload Me
End Sub
Código para el botón Buscar
Private Sub btnBuscar_Click()
btnGuardar.Enabled = False
Dim x As Long
Dim y As Long
x = Hoja1.Range("A" & Rows.Count).End(xlUp).Row
For y = 6 To x
If Hoja1.Cells(y, 1).Value = TextBox5.Text Then
TextBox1 = Hoja1.Cells(y, 1).Value
TextBox2 = Hoja1.Cells(y, 2).Value
TextBox3 = Hoja1.Cells(y, 3).Value
TextBox4 = Hoja1.Cells(y, 4).Value
If Hoja1.Cells(y, 5).Value = "Masculino" Then
Opt1.Value = True
End If
If Hoja1.Cells(y, 5).Value = "Femenino" Then
Opt2.Value = True
End If
btnActualizar.Visible = True
Me.btnEliminar.Visible = True
End If
Next y
End Sub
El Código para el botón Actualizar
Private Sub btnActualizar_Click()
Dim x As Long
Dim y As Long
x = Hoja1.Range("A" & Rows.Count).End(xlUp).Row
For y = 6 To x
If Hoja1.Cells(y, 1).Value = TextBox5.Text Then
Hoja1.Cells(y, 1).Value = TextBox1.Text
Hoja1.Cells(y, 2).Value = TextBox2.Text
Hoja1.Cells(y, 3).Value = TextBox3.Text
Hoja1.Cells(y, 4).Value = TextBox4.Text
If Opt1.Value = True Then
Hoja1.Cells(y, 5).Value = "Masculino"
End If
If Opt2.Value = True Then
Hoja1.Cells(y, 5).Value = "Femenino"
End If
End If
Next y
Me.btnActualizar.Visible = False
Me.btnEliminar.Visible = False
MsgBox "Se actualizó exitosamente"
Call btnLimpiar_Click
End Sub
Código para el botón Eliminar
Private Sub btnEliminar_Click()
Dim x As Long
Dim y As Long
x = Hoja1.Range("A" & Rows.Count).End(xlUp).Row
For y = 6 To x
If Hoja1.Cells(y, 1).Value = TextBox5.Text Then
Rows(y).Delete shift:=xlUp
End If
Next y
Me.btnEliminar.Visible = False
Me.btnActualizar.Visible = False
MsgBox "Se eliminó exitosamente"
Call btnLimpiar_Click
End Sub
Código para ListBox1
Private Sub ListBox1_Click()
TextBox5 = ListBox1.Column(0)
End Sub
EL Código para TextBox2
Private Sub TextBox2_Change()
TextBox2 = UCase(Me.TextBox2.Text)
End Sub
Código para TextBox3
Private Sub TextBox3_Change()
TextBox3 = UCase(Me.TextBox3.Text)
End Sub
Código para TextBox4
Private Sub TextBox4_Change()
TextBox4 = UCase(Me.TextBox4.Text)
End Sub
Finalmente sólo nos falta crear el módulo para poder llamar a la macro desde nuestra hoja de cálculo, para ello realizamos los siguientes pasos:
Sub MostrarFormulario()
UserForm1.Show
End Sub
Al inicio de la creación de nuestra base de datos, específicamente en la parte donde comenzamos a crear la tabla, insertamos una forma o ilustración, el cual funcionaría como botón, pues bien este botón nos servirá para llamar a la macro, para ellos haz lo siguiente:
Después de finalizar cada uno de los procedimientos realizados, obtendremos un formulario como se ve en la imagen, el cual nos permitirá Guardar, Limpiar, Cerrar, Buscar, Actualizar y Eliminar registros en la base de datos.
Para descargar el archivo que usamos como ejemplo en la explicación de cada uno de los pasos para crear una base de datos en Excel, aquí te el enlace: Descargar BD en Excel
También te puede interesar la siguiente entrada: Cómo hacer una factura en Excel paso a paso.
Descarga gratis Carátulas de inglés para imprimir en PDF o editar en Word, especialmente para… Leer más
Plantillas de álbum de fotos digital en PowerPoint para editarlo. El álbum está inspirado en… Leer más
Descarga gratis Portadas o carátulas para cuadernos con temática de Netflix, Tiktok, Instagram, Google y… Leer más
Personalizar agenda escolar electrónica creado en PowerPoint. La agenda digital tiene un diseño bonito, ideal… Leer más