Formulario de entrada de datos en Excel con macro

En este blog voy a mostrarles como pueden hacer un sencillo pero eficiente formulario para la entrada de datos dentro de una base de datos. Para ello utilizamos una macro asociada a un botón de comando.
El formulario consiste básicamente en un área determinada para tal fin con celdas en las cuales vamos a introducir los datos que nos interesan.
Ejemplo: podemos tener una base de datos de productos o de personal, y tenemos un formulario para ingresar un nuevo producto o un nuevo empleado en el segundo caso.

Pasos

1.       El primer paso consiste en determinar qué datos vamos a introducir en la base de datos. En una hoja vamos a tener el formulario y en una segunda hoja vamos a tener la base de datos, con los datos acumulados.



2.       Una vez que sabemos que datos necesitamos determinamos el área del formulario, le damos formato, por ejemplo un color y bordes. En las celdas dónde se introducen los datos le ponemos un borde y la dejamos sin color.

3.       Una vez que tenemos el formulario,  vamos a trasladar los datos del formulario a la base de datos con una macro. Es sencillo, la macro debe hacer lo siguiente:

a.       Copia un dato del formulario, sin formato y lo pega en la columna correspondiente a ese dato en la base de datos, luego una vez pegado podemos borrar el dato del formulario y seguir con el resto de los datos.

b.      Luego de terminar de trasladar todos los datos nos posicionamos nuevamente en la primera celda de ingreso de datos.

4.       Para dejar completamente funcional el formulario tienen que insertar una fila nueva en la base de datos, antes de trasladar el primer dato del formulario. Esa fila se debe insertar entre la fila del título y la primera fila que contiene datos.
También el video les muestro como insertar una línea de código para evitar que la macro nos muestre el procediendo que realiza en pantalla.

La línea de código es:
Application.ScreenUpdating = false
Este proceso lo pueden utilizar para varias aplicaciones. Es algo básico y sencillo, espero les guste.
Proximamente voy a colgar los ejemplos en el blog. Por favor sigan el blog subscribiéndose a las actualizaciones.

Keys:

·         Formulario sencillo en Excel


18 comentarios:

Javier Ocas Quintana dijo...

doc...m sirvio mucho, pero en caso me equivoque como lo corrijo?...simplemente lo borro?

Juan Pablo Torres dijo...

Hola amigo, cómo estas! Gracias por escribir!

El tema de las macros es un poco de ejercicio en prueba y error. Para lograr la macro perfecta siempre es una sucesión de pruebas. Así que iras perfeccionando la idea. Lo único que debes tener en cuenta es utilizar una hoja de prueba ya que si con una macro borras algo no lo puedes deshacer.

Saludos

Danilo Rojas dijo...

Hola, no encuentro el link de descarga, me ayudas?

Juan Pablo Torres dijo...

Hola amigo, cómo estas! Esta en la zona de descargas con el texto:
Formulario de Ingreso de Datos
Formulario de ingreso de datos en Excel con macros. La pueden editar de acuerdo a sus necesidades.
Por otro lado, no necesitas la plantilla si con el artículo puedes construirlo desde cero. Esperamos tus comentarios. Saludos

Guillermo Vera dijo...

Hola, muy buen video, pero una consulta? yo tengo la versión 2013 y no me aparece las opciones de pegado especial. Cómo hago? Gracias.

Juan Pablo Torres dijo...

Hola, cómo estas! Gracias por comentar!
En cuanto a tu comentario en especifico , desconocemos las nuevas características o features de esa versión de office pero dudamos que hayan sacado una opción tan básica. Revisa en la barra de menú edición. Debe estar.
Saludos

Prof. Romel J. Guerra G. dijo...

Hola Amigo! Espero que este muy bien!
Tengo un Userform que lleno y descarga datos a una hoja en excel en varias columnas consecutivas, para luego imprimirla. Mi pregunta es: Como construyo una macro para que solo permita ingresar datos cinco veces hacia abajo, es decir hasta cinco filas y después arroje un mensaje "a agregado el máximo de datos para este formulario"

Juan Pablo Torres dijo...

Hola Amigo, cómo estas! Gracias por tus comentarios!
En cuanto a tu consulta, lo puedes hacer con un contador y un condicional. Depende qué código estés usando. Recuerda que nos puedes contactar directamente mediante el formulario de contacto. Esperamos tus comentarios. Saludos

Gustavo Gonzalez dijo...
Este comentario ha sido eliminado por el autor.
carter dijo...

Hola exelente ejemplo.
Me podrias ayudar... tengo q hacer un formulario para reubicar datos de 4 listas que estan en en diferentes hojas la verdad no se ni como empezar
Ayudame porfa

Juan Pablo Torres dijo...

Hola amigo, cómo estas!
En verdad el tema de macros es fácil, solo tienes que ver el orden que le das a las acciones y luego grabar la macro. Tenemos ejemplos por ahí de cómo hacerlo, este es uno.
Recuerda que nos puedes escribir directamente mediante el formulario de contacto.
Saludos

Nayeli Briones dijo...

hOLA Y SI EN LUGAR DE QUE INSERTE UNA FILA NUEVA PARA EL DATO NUEVO, QUIERO QUE VAYA AGREGANDO EL REGISTRO AL FINAL?, QUE ES LO QUE TENDRIA QUE CAMBIAR?

Juan Pablo Torres dijo...

Hola amigo, cómo estas! Gracias por escribirnos!
En cuanto a tu consulta, ya lo hemos hecho en un artículo del blog. Revisarlos. Cada artículo tiene cosas nuevas. Para hacer eso debes usar un pedazo de código que consiste básicamente en un contador que ve dónde están los datos y luego los escribes en el lugar determinado por este contador. Básicamente una fila.
Esperamos tus comentarios.
Saludos

Anonymo dijo...

Genial, busque y rebusque informacion sobre, referencias y macros y no me salia pero su solucion es fantastica, la aplique en la base de datos de mi escuela, 1000 gracias...salu2 desde mexico

Anonymo dijo...

Genial, busque y rebusque informacion sobre, referencias y macros y no me salia pero su solucion es fantastica, la aplique en la base de datos de mi escuela, 1000 gracias...salu2 desde mexico

Juan Pablo Torres dijo...

Hola amigo, cómo estas! Gracias por comentar!
Que bueno que te haya servido. Saludos

Briam Alarcon dijo...

Hola Juan Pablo: Te quiero pedir ayuda en lo siguiente, hice los pasos tal como los describes pero no consigo que cada vez que agrego una serie de nuevos datos los vaya agregando encima de la última fila, al presionar el botón "ingresar" reemplaza los datos anteriormente agregados. Cual sería la solución???

Desde ya gracias

Juan Pablo Torres dijo...

Hola amigo, cómo estas! Gracias por escribirnos!
Creo que esta claro, y lo hemos dicho varias veces. Todo tiene que ver con la forma que grabas la macro, porque al fin y al cabo es solo eso. Antes de copiar la info que quieres trasladar insertas una linea en la parte superior entre el titulo y la segunda fila. Ese es el método más sencillo, luego el otro método es mas sofisticado para que lo envíe a la última fila que se puede hacer sin modificar el código también con una macro ordenando los datos luego de copiados, para eso tendrías que manejar una id o algo que te diga el orden de ingreso. Espero se haya entendido algo. Esperamos tus comentarios.
Saludos