jueves, 14 de julio de 2022

Cómo hacer una Base de Datos con los botones Buscar, Guardar, Modificar y Eliminar en Excel con Macros VBA

¿Cómo hacer una Base de Datos con los botones Buscar, Guardar, Modificar y Eliminar en Excel con Macros? 


Hola estimados seguidores de la página Excel Cuántico, nos volvemos a encontramos después de un buen tiempo, esta vez vamos aprender como crear una Base de Datos en excel con Macros (VBA - Excel), en esta primera parte la base de datos que crearemos tendrá los siguientes botones: Buscar, Guardar, Modificar y Eliminar, como nos caracterizamos lo desarrollaremos desde cero, así que pongamos manos a la obra.

Este será el resultado que obtendremos al final de esta primera parte del proyecto, ¿A que no se ve que esta muy COOL?.



Entonces no se diga más y comencemos,

Primero iniciamos diseñando nuestro formulario, para ello hacemos uso del "Cuadro de Herramientas" y utilizamos los diferentes "Controles", en esta oportunidad usaremos "Textbox", "Combobox" y "Botones de Comando", asimismo, agregaremos iconos a los botones para que se vean profesionales, este es el resultado del diseño del formulario.



Ahora nos toca cambiar el nombre (name) de cada control para que se mas fácil identificar al momento de programar. (Si no sabes donde hacerlo no te preocupes al final del articulo publicaremos el video tutorial).


Seguido vamos a ingresar la siguiente codificación en el evento "Initialize" del Userform, esto nos servirá para agregar datos al listado de los Combobox Grado y Sección.

------------------------------------------------------------------------------------------------------------------------

Private Sub UserForm_Initialize()
With Me.CmbGrado
    .AddItem "1º", 0
    .AddItem "2º", 1
    .AddItem "3º", 2
    .AddItem "4º", 3
    .AddItem "5º", 4
    .AddItem "6º", 5
End With

With Me.CmbSeccion
    .AddItem "A", 0
    .AddItem "B", 1
    .AddItem "C", 2
    .AddItem "D", 3
    .AddItem "E", 4
End With

End Sub

--------------------------------------------------------------------------------------------------------------------------

Para seguir programando necesitamos hacer una pausa y hablar acerca del famoso "nREG", que como indique en varias ocasiones esta codificación la obtuve del canal "Excel y Mas", que por cierto es buenísimo. Con esta codificación nos ayudaremos a encontrar la ultima fila en blanco (pega la siguiente codificación en un "Módulo").

-------------------------------------------------------------------------------------------------------------------------

Option Explicit
Option Private Module
Public Function nReg(Hoja As Worksheet, nFila As Long, nColumna As Integer)
    Do Until IsEmpty(Hoja.Cells(nFila, nColumna))
        nFila = nFila + 1
    Loop
    nReg = nFila
End Function

------------------------------------------------------------------------------------------------------------------------

Continuando empezaremos a programar los "Botones de Comando", nuestro primer botón elegido a ser programado es......... "BUSCAR". 

----------------------------------------------------------------------------------------------------------------------

Private Sub CmdBuscar_Click()
On Error Resume Next

Me.TxtDni.Text = Application.WorksheetFunction.VLookup(Me.TxtCodigo.Text, Hoja1.Range("A:F"), 2, 0)
Me.TxtApellidos.Text = Application.WorksheetFunction.VLookup(Me.TxtCodigo.Text, Hoja1.Range("A:F"), 3, 0)
Me.TxtNombres.Text = Application.WorksheetFunction.VLookup(Me.TxtCodigo.Text, Hoja1.Range("A:F"), 4, 0)
Me.CmbGrado.Text = Application.WorksheetFunction.VLookup(Me.TxtCodigo.Text, Hoja1.Range("A:F"), 5, 0)
Me.CmbSeccion.Text = Application.WorksheetFunction.VLookup(Me.TxtCodigo.Text, Hoja1.Range("A:F"), 6, 0)

Me.TxtCodigo.Enabled = False

End Sub

---------------------------------------------------------------------------------------------------------------------------

Ahora nuestro segundo botón elegido a ser programado es.............."GUARDAR". Que nos sirve para almacenar los datos del formulario en un hoja de excel.

---------------------------------------------------------------------------------------------------------------------------

Private Sub CmdGuardar_Click()
Dim uFila As Long

uFila = nReg(Hoja1, 4, 1)

Hoja1.Cells(uFila, 1) = Me.TxtCodigo.Text
Hoja1.Cells(uFila, 2) = Me.TxtDni.Text
Hoja1.Cells(uFila, 3) = Me.TxtApellidos.Text
Hoja1.Cells(uFila, 4) = Me.TxtNombres.Text
Hoja1.Cells(uFila, 5) = Me.CmbGrado.Text
Hoja1.Cells(uFila, 6) = Me.CmbSeccion.Text

Call Limpiar
Me.TxtCodigo.SetFocus

MsgBox ("Datos guardados con éxito"), vbInformation, "Excel Cuantico"

End Sub

-------------------------------------------------------------------------------------------------------------------------

Todavía queda "Botones de Comando" por programar, ahora es el turno del botón ................."MODIFICAR". Que nos sirve para modificar los datos guardados en la hoja de excel.

-------------------------------------------------------------------------------------------------------------------------

Private Sub CmdModificar_Click()
Dim uFila, X As Long

uFila = nReg(Hoja1, 4, 1) - 1

For X = 4 To uFila
    If Me.TxtCodigo.Text = Hoja1.Cells(X, 1) Then
        Hoja1.Cells(X, 2) = Me.TxtDni.Text
        Hoja1.Cells(X, 3) = Me.TxtApellidos.Text
        Hoja1.Cells(X, 4) = Me.TxtNombres.Text
        Hoja1.Cells(X, 5) = Me.CmbGrado.Text
        Hoja1.Cells(X, 6) = Me.CmbSeccion.Text
        Exit For
    End If
Next X

Call Limpiar
Me.TxtCodigo.Enabled = True

End Sub

---------------------------------------------------------------------------------------------------------------------------

Hey ya estamos cerca de terminar de programar todos lo botones, ahora sigamos con ............ exacto como lo pensaste, toca al botón "ELIMINAR". Con este botón podremos eliminar la información ingresada con los anteriores botones en nuestra hoja de excel.

---------------------------------------------------------------------------------------------------------------------------

Private Sub CmdEliminar_Click()
Dim uFila, X As Long

uFila = nReg(Hoja1, 4, 1) - 1

For X = 4 To uFila
    If Me.TxtCodigo.Text = Hoja1.Cells(X, 1) Then
        Hoja1.Cells(X, 1).EntireRow.Delete
        Exit For
    End If
Next X

Call Limpiar
Me.TxtCodigo.Enabled = True

End Sub

----------------------------------------------------------------------------------------------------------------------------

Y sin pensarlo llegamos al ultimo botón, que es el más sencillo de programar y el más utilizado, así es, es el botón "SALIR".

----------------------------------------------------------------------------------------------------------------------------

Private Sub CmdSalir_Click()
Unload Me
End Sub

---------------------------------------------------------------------------------------------------------------------------

Antes de mostrarles el video donde se explica detalladamente la programación de todo el formulario, debemos de agregar un procedimiento(Macro) con el nombre "Limpiar", que nos servirá para dejar todos los campos en blanco.

----------------------------------------------------------------------------------------------------------------------------

Sub Limpiar()
Me.TxtCodigo.Text = Empty
Me.TxtDni.Text = Empty
Me.TxtApellidos.Text = Empty
Me.TxtNombres.Text = Empty
Me.CmbGrado.Text = Empty
Me.CmbSeccion.Text = Empty
End Sub

-----------------------------------------------------------------------------------------------------------------------------

VER VÍDEO TUTORIAL


Aquí puedes ver el vídeo tutorial de "Como hacer una Base de Datos con los Botones "BUSCAR, GUARDAR, MODIFICAR y ELIMINAR". Si deseas encontrar más vídeos tutoriales presiona aquí.




DESCARGAR MATERIAL DE TRABAJO


Para descargar el material de trabajo PRESIONA AQUÍ o puedes encontrar en nuestra pestaña DESCARGAS

Si te gusto el presente articulo no te olvide de compartir en tus redes sociales, suscribirte al blog para que te llegue las novedades y suscribirte a nuestro canal de YouTube es completamente "GRATIS" SUSCRIBETE.

miércoles, 26 de agosto de 2020

Control de Entradas y Salidas de Productos de un Pequeño Negocio - KARDEX

Control de Entradas y Salidas de Productos de un Pequeño Negocio desde Cero - Kardex

Hola estimados seguidores de la pagina Excel Cuántico, en esta oportunidad vamos aprender como hacer un Control de Entradas y Salidas de Productos de un pequeño negocio, comenzaremos desde el diseño de nuestro formato de control hasta el funcionamiento adecuado de nuestro Kardex.

Antes de iniciar definiremos que es un "Kardex" y para que nos sirve, Kardex es un documento que nos permite llevar el control estructurado sobre las existencias de mercancías en un almacén o empresa.

Comencemos,

Primero debemos tener una hoja de resumen donde nos mostrara el detalle de cada producto de nuestro almacén con su respectiva entrada, salida y saldo. La primera hoja que vamos a crear la nombraremos como "Resumen" y las demás hojas que contendrá los movimientos del almacén la nombraremos "P1, P2,..........,Pn", crearemos una hoja por cada producto.

Nuestra primera hoja de "Resumen, tendrá los siguientes encabezados: Nº, Código, Descripción, U.M. (Unidad de Medida), Entradas, Salidas, Saldo, C.A. (Cantidad Apacible), C.C. (Cantidad Critica) y Mensaje, quedaría de la siguiente manera.

Nuestra hoja de control de entradas y salidas (Kardex) tendrá los siguientes encabezados: Fecha de Operación, Tipo, Destino, Empresa, Entradas, Salidas y Saldo Final. Quedando de la siguiente manera

En el campo "Saldo Final" vamos a ingresar un formula para que el saldo final se actualice automáticamente, la formula sera la siguiente: "=SI(D10="Entrada";I9+G10;SI(D10="Salida";I9-H10;""))".

Al final de terminar nuestro proyecto nos quedara de la siguiente manera. Para ver como crear nuestro control de entradas y salidas de productos de un negocio pequeño no se olvide ver el vídeo tutorial, donde explicamos detalladamente como crearlo desde cero.

VER VÍDEO TUTORIAL

Aquí puedes ver el vídeo tutorial de "Como hacer un Control de Entrada y Salidas de Productos de un pequeño negocio - Excel Emprendedores". Si deseas encontrar más vídeos tutoriales presiona aquí


DESCARGAR MATERIAL DE TRABAJO

Para descargar el material de trabajo PRESIONA AQUÍ o puedes encontrar en nuestra pestaña DESCARGAS

Si te gusto el presente articulo no te olvide de compartir en tus redes sociales, suscribirte al blog para que te llegue las novedades y suscribirte a nuestro canal de YouTube es completamente "GRATIS" SUSCRIBETE

jueves, 9 de julio de 2020

Curso Aplicado de Programación VBA - Excel - Sesión 04 - Como utilizar la codificación "DO WHILE LOOP"

Hola estimado amantes de Microsoft Excel, en el presente artículo continuamos desarrollando nuestro pequeño "Curso Aplicado de Programación VBA - Excel", en esta oportunidad explicamos la codificación "DO WHILE LOOP" de forma sencilla y practica, con esta codificación lograremos realizar una sumatoria dinámica.


UTILIZANDO LA CODIFICACIÓN "DO WHILE LOOP"


Para explicar el funcionamiento de la codificación "DO WHILE LOOP", vamos a trabajar con nuestra tabla que creamos la sesión 03, en esa tabla tenemos una columna de descuentos, lo que haremos sera realizar una sumatoria en la ultima fila sin datos.


Con la tabla ya creada nos vamos al entorno de Visual Basic for Application, para ello seleccionamos la pestaña "Programador" (¿Como activar la pestaña programador?) botón "Visual Basic", una vez que nos encontremos en el entorno de VBA, nos vamos al "Modulo 1", debajo de las macros que hemos creado en las sesiones anteriores (sesión 01; sesión 02 y sesión 03), ahí ingresaremos una nueva macro, para ello escribimos "sub Suma" y presionamos enter, al momento de presionar enter se completara los datos necesarios para el funcionamiento correcto de una macro, quedando de la siguiente manera.


Ahora vamos a ingresar la codificación para que realice la sumatoria dinámica, para ello utilizaremos la codificación "DO WHILE LOOP", esta codificación nos permitirá hacer un recorrido de todos lo datos de nuestra tabla para que vaya sumando fila por fila.


Macro Suma Dinámica
------------------------------------------------------x----------------------------------------------------
Sub Suma()
Dim X As Long
Dim Sum As Currency

X = 4
Sum = 0

Do While Hoja2.Cells(X, 4)
    Sum = Sum + Hoja2.Cells(X, 4)
    X = X + 1
Loop

Hoja2.Cells(X, 4) = Sum
Hoja2.Cells(X, 3) = "Totales"
End Sub
------------------------------------------------------x----------------------------------------------------

Ahora que tenemos nuestra macro que realiza la suma dinámica, lo asignaremos al botón "Ejecutar" que tenemos en nuestra hoja, este botón lo creamos en la sesión 03. Para poder asignar nuestra macro primero tenemos que activar el modo de diseño luego presionamos doble clic en el botón ejecutar, seguido se nos abrirá el entorno de VBA con una ventana ahí llamaremos a nuestra macro "Suma".


Una vez asignada solo quedaría desactivar el modo de diseño y listo nuestra macro estaría ejecutándose correctamente.

VER VÍDEO TUTORIAL


Aquí puedes ver el vídeo tutorial de nuestra segunda sesión de nuestro "Curso Aplicado de Programación VBA - Excel". Si deseas ver el curso completo presiona aquí



DESCARGAR MATERIAL DE TRABAJO


Para descargar el material de trabajo PRESIONA AQUÍ o puedes encontrar en nuestra pestaña DESCARGAS

Si te gusto el presente articulo no te olvide de compartir en tus redes sociales, suscribirte al blog para que te llegue las novedades y suscribirte a nuestro canal de YouTube es completamente "GRATIS" SUSCRIBETE