Está en la página 1de 12

7/16/13

Excel Avanzado: UserForm para alimentar una base de datos

Excel Avanzado
Macros, Funciones de Excel, Trucos

Pgina principal

Macros

Suscripcin

J UEV ES , 16 DE J UNIO DE 2011

Excel Avanzado http://excelavanzado.com Datos personales Descargar el fichero: UserForm.xls Adolfo Aparicio

UserForm para alimentar una base de datos

amos a crear un UserForm, que es un formulario que nos permitir pedir al usuario que introduzca una serie de datos para ir creando una tabla en Excel, en forma de base de datos.

Supongamos que se trata de la empresa UniLink, Co. Ltd. Su departamento de personal est creando una pequea base de datos sobre Excel. Se trata de una tabla con 4 campos: Nombre, Departamento, Extensin y eMail. Disponemos de un botn incrustado que lanza el proceso y llama al Formulario de entrada de datos.

Excel Avanzado Valoracin Financiera Blog de Access Canal de YouTube Twitter Ver todo mi perfil

Facebook Excel Avanzado


Me gusta 370

Suscriptores

www.excelavanzado.com/2011/06/userform-para-alimentar-una-base-de.html

1/12

7/16/13

Excel Avanzado: UserForm para alimentar una base de datos

La macro asociada al botn es la siguiente.

Suscribase via email Introduzca su email:

Suscribirse Delivered by FeedBurner Vamos al Editor de Visual Basic y pedimos insertar un UserForm, para ello utilizamos el men Insertar que se encuentra en el propio Editor de Visual Basic, y luego pulsamos sobre UserForm. Pginas recomendadas Valoracin Financiera con Excel Pgina oficial Excel Contextures Blog: JLD Excel excelnegocios.com Blog: Hojas de clculo Excel exceltrabajaporti.com Trucos de Excel EXCELeINFO Esto genera el UserForm1, que aparecer como una zona rectangular sobre la que posteriormente iremos introduciendo diferentes elementos del Cuadro de herramientas. Economa Excel Excel Foro Plantillas de Power Point Clculo de la Letra del DNI Pginas en Ingls Chip Pearson

Buscar Archivo del blog 2012 (9) 2011 (37) diciembre (4) Seguidamente se muestra el Cuadro de Herramientas. noviembre (3) octubre (4) septiembre (2) agosto (3) julio (4) junio (10) Eliminar Filas y Columnas vacias UserForm para alimentar una base de datos Seleccin de Grficos Despus de trabajar un rato sobre nuestro primer UserForm quedar as: Rango Dinmico Convertir una Tabla de doble entrada en una base d... Estructuras repetitivas: Do While ... Loop Tablas Dinmicas y Campos calculados Ajuste Potencial Interpolacin
www.excelavanzado.com/2011/06/userform-para-alimentar-una-base-de.html 2/12

7/16/13

Excel Avanzado: UserForm para alimentar una base de datos

Suma con errores mayo (2) abril (1) marzo (1) febrero (3) 2010 (35) 2009 (40) 2008 (23) 2007 (1)

Post al azar Al ejecutar el UserForm1 veremos lo siguiente. Seguidores Participar en este sitio
Google Friend Connect

Miembros (182) Ms

Ya eres miembro? Iniciar sesin

Disponemos de la ventana de propiedades para ir cambiando algunas, como por ejemplo el rtulo que aparece en la cabecera del UserForm1. Hemos denominado al formulario 'Ficha personal'. Esto se hace modificando la propiedad Caption.

Pginas vistas los ltimos 30 das

111552
Etiquetas 2007 (2) access (1) Aleatorio (6) amortizacin anticipada (1) Anlisis de Sensibilidad (1) array (1) Auto_Close (1) Auto_Open (1) bolsa (2) Bonos (8) botn (1) Buscar Objetivo (3) BUSCARV (3) carencia (1) COINCIDIR (1) Otra ventana importante es la ventana del Proyecto. Finalmente llegaremos a manejar tres formularios, que se pueden ver en la imagen siguiente como:
www.excelavanzado.com/2011/06/userform-para-alimentar-una-base-de.html

color (1) concatenar (1)


3/12

7/16/13

Excel Avanzado: UserForm para alimentar una base de datos

UserForm1 UserForm2 UserForm3

Consolidar (1) Constante (1) Contar.si (3) Curso de Macros (6) DBSUMA (1) desplegable (1) DESREF (2) distribuciones (1) Distribucin LogNormal (1) Distribucin Normal (1) edad (1) eliminar (2) escenarios (1) estadstica (5)

Pulsando con el botn derecho del ratn sobre el UserForm1 podemos pedir que se vea el objeto (el propio UserForm1) o que se vea el cdigo asociado a sus botones y dems herramientas de control.

ETTI (2) Euribor (1) evento (1) Excel (18) fecha (2) financieras (20) finanzas (1) Formato Condicional (2) Forward (1) Frecuencia (1) Funciones (5) funcin matricial (13) function (3) geomtrica (2) geomtrico (1) glosario (2) grficos (5) histograma (1) histrico (1) Hoy (1) IBEX (1)

Si pedimos Ver cdigo del UserForm1 obtendremos la siguiente ventana.

Incertidumbre (1) INDIRECTO (5) ingls (1) Interseccion de Fisher (1) Introduccin (1) juego (1) k.esimo (2) Leasing (1) logaritmo (1) Macros (33) matriz (2) mensual (2) Montecarlo (4) Neperiano (1)

www.excelavanzado.com/2011/06/userform-para-alimentar-una-base-de.html

4/12

7/16/13

Excel Avanzado: UserForm para alimentar una base de datos

permutaciones (1) poisson (2) pospagable (1) prepagable (1) Prstamo (17) Random Walk (1) rango (2) rentas (3) Repetidos (2) Rnd (1) Simulacin (7) Solver (7) Subtotales (2) SUMAPRODUCTO (4) SUMAR.SI (3) Tabla Dinmica (14) Tablas (2) Aqu se programan todos los botones y etiquetas que utilizamos en el UserForm1. TASA (1) test (1) En el desplegable de arriba, a la izquierda podemos elegir diferentes elementos como se ve en la siguiente imagen. texto (2) tipo variable (5) TIR (9) TIR modificada (1) TIR multiple (1) TIR.NO.PER (1) traduccin (1) Trucos (1) UserForm (1) Validacin (3) valor actual (1) valor final (1) VAN (6) VBA (2) VF (1) VNA.NO.PER (1) vdeo (1) Word (1) Workbook_Open (1) En el desplegable de la derecha podemos elegir diferentes eventos. xlw (1)

www.excelavanzado.com/2011/06/userform-para-alimentar-una-base-de.html

5/12

7/16/13

Excel Avanzado: UserForm para alimentar una base de datos

El UserForm2 es el siguiente.

El cdigo del UserForm2 se muestra en la siguiente imagen. Twitter

www.excelavanzado.com/2011/06/userform-para-alimentar-una-base-de.html

6/12

7/16/13

Excel Avanzado: UserForm para alimentar una base de datos

El UserForm3 es el siguiente.

El cdigo del UserForm3 se muestra en la siguiente imagen.

www.excelavanzado.com/2011/06/userform-para-alimentar-una-base-de.html

7/12

7/16/13

Excel Avanzado: UserForm para alimentar una base de datos

Publicado por Adolfo Aparicio a las 10:54 Etiquetas: Macros, UserForm

19 comentarios:
administrador dijo... muy buena la explicacion, basica para dar inicio a la introduccion a los userform, muuuuuuy buena 16 de junio de 2011 15:34 Oscar Efrain dijo... Gracias Ingeniero por el aporte, de una utilidad invaluable. Esta es la base para hacer tablas mas complejas...muy buen inicio.. 16 de junio de 2011 17:23 robi dijo... Soy principiante en los userfomr, me gustaria que me ayudaran a contactar a mi correo robiervalencia@gmail.com para aclarar algunas dudas, mi skype ramavaro Gracias 21 de febrero de 2012 21:11 rafaeljose dijo... Muy buena la explicacion pero tengo una pregunta para ti Adolfo, que creo que fue el que publico este blog, como se hace con este formulario para no introducir datos repetidos, cualquier informacion me la puedes hacer llegar a cualquiera de mis correos, que son los siguientes: rafa1122000@hotmail.com ;
www.excelavanzado.com/2011/06/userform-para-alimentar-una-base-de.html 8/12

7/16/13

Excel Avanzado: UserForm para alimentar una base de datos

rafa1122000@gmail.com y bhmasociados@cantv.net Esperando tu respuesta Rafael 20 de abril de 2012 21:18 Adolfo Aparicio dijo... Para evitar repetidos consulta este post: Impedir repetidos 21 de abril de 2012 07:47 juanfiallo dijo... Buen da Ingeniero Excelente uso de userform y una explicacion por dems agradable y muy entendible. Tengo una inquietud al respecto: si quisiera enviar la informacion a la hoja "basededatos" y a otro ms por decir "registromovimientos", como sera la macro en este caso especfico? Muchas gracias por tu valiosos aporte Juan Fiallo 9 de mayo de 2012 16:20 eder navarro dijo... buenos dias ing, muy buena publicacion, mi pregunta. como busco un dato dentro de mi base de datos y que me lo muestre en un userform, luego que lo busque imprimirlo. se puede ? y como lo ago? seria de gran ayuda gracias 12 de agosto de 2012 17:45 Eliparck dijo... Hola Sr. Adolfo Buenas tardes.. me llamo Eli.. tengo un codigo para busqueda que no logro que de un buen resultado.. quiza me puedan ayudar.. --------------------------------Es un formulario donde inserto numero de DNI y lo busca.. hasta ahora lo encuentra.. pero no se porque en lugar de devolverlo en el label que le indico.. me borra los datos.. o los vuelve a "0"... quisiera porfavor me pudieran decir en que me equivoco... y poder corregirme.. CODIGO: Private Sub IBUSCAR_Click() Dim Dim Dim Dim RESPUESTADNI As Single RESPUESTANOMBRES As Double RESPUESTAFNAC As Double RESPUESTASISFOH As Double

Dim n As Range Set n = Cells.Find(what:=txtFIND, MatchCase:=False) If n Is Nothing Then MsgBox "La Persona no se encuentra registrada en el Sistema", vbExclamation Else n = RESPUESTADNI n.Offset(0, 1) = RESPUESTANOMBRES n.Offset(0, 4) = RESPUESTAFNAC n.Offset(0, 6) = RESPUESTASISFOH resDNI.Caption = RESPUESTADNI resAPELLIDOS.Caption = RESPUESTANOMBRES resFNAC.Caption = RESPUESTAFNAC
www.excelavanzado.com/2011/06/userform-para-alimentar-una-base-de.html 9/12

7/16/13

Excel Avanzado: UserForm para alimentar una base de datos

resSISFOH.Caption = RESPUESTASISFOH End If End Sub 25 de agosto de 2012 00:38 Laura Vqz dijo... Holaaa mucho gusto estaba viendo que buenaa la explicacin y el ejemplo pero de casualidad !! No Sabe O no tiene un ejemplo de una base de datos de una Joyeria en VBA con Excell con la que me pueda ayudar Gracias :D !! 13 de septiembre de 2012 04:20 Eliparck dijo... no lograron responder mi pregunta.. gracias de todas formas por el gran tutorial, logre aclarar mi duda, y conseguir que funcionara.. sin embargo, mientras mas lo avanzo, mas pesado se vuelve el archivo, y mas problemas me genera, y pues tuve que dejarlo, porque en esa data, necesito estar guardando cambios todo el tiempo y se me malograba el archivo.. gracias de todas formas.. buscare otra manera, quiza puro VB. o con PowerBuilder.. 13 de septiembre de 2012 07:48 julio alberto sifuentes reynosa dijo... Buenas Tardes Ing.Arnulfo, exelente ejemplo, pero como le puedo hacer para que los datos me los inserte a SQL 2005. Seria de gran ayuda grax! 21 de septiembre de 2012 21:19 nancy dijo... como puedo hacer que un cuadro de lista , dependa de un cuadro combinado, es decir, al seleccionar ej: un nombre en el combobox de una persona, en el cuadro de lista aparesca su respectiva informacin, sea esta direccion, telefono, etc. Gracias! 14 de enero de 2013 20:42 Heliospot dijo... Buenos Das, gracias por la explicacin, me ha ayudado mucho. Quisiera pedirle un favor, necesito crear un formulario donde una vez introducidos todos sus datos me dirija a un determinado archivo que ya est creado, es decir, yo tengo una serie de documentos en pdf y necesito encontrarlos de forma rpida, creo que a travs de un formulario de datos y con un hipervinculo podra resultar. Gracias de antemano 17 de enero de 2013 09:14 Jorge Araya Calderon dijo... Adolfo, hace unas semanas sigo fielmente tu blog para un sistema de remuneraciones que estoy haciendo. Te felicito!! Sabes, a mi me sale un error que segun he visto en foros de MS, es muy recurrente y se debe a falta de fm20.dll... Todo lo que he leido al respecto, es al problema de que no esta tal dll... pero yo si lo tengo en System32... Tengo W7 y Office 2010, todas sus actualziaciones al dia y ya no se que hacer... Si me redirigieras a un enlace donde poder solucionar, o tu tuvieras la solucion... Te lo agradeceria muchisimo!! 21 de enero de 2013 13:49 Charlotte Cruz dijo... Muy buena aportacion, me gusta mucho el Blog ya que estoy aprendiendo mucho de excel.. me gustaria tu ayuda quiero aprender a realizar formularios para rellenar pero no se como hacer para imprimirlos en paginas que ya tienen datos.. osea solo lo rellenado
www.excelavanzado.com/2011/06/userform-para-alimentar-una-base-de.html 10/12

7/16/13

Excel Avanzado: UserForm para alimentar una base de datos

que se imprima si me puedes ayudar o dar un link donde pueda ver como hacer te lo agradeceria mucho.. 5 de abril de 2013 19:37 Erika Virginia Acosta Duarte dijo... Sr. Adolfo, muchas gracias por este Blog es de gran utilidad. Tengo una duda, si ya tengo mas e 3000 contactos en excel y quiero introducirlos a traves de un User Form, hay alguna forma de hacerlo automaticamente? O deben ser 1 a 1? Sino, que sugiere? Access? SAludos desde Africa, Erika 30 de abril de 2013 15:56 Juan Jose Ramos dijo... Muchisimas gracias!. Me sirvi de mucho para generar datos en inventarios. Saludos master! 20 de junio de 2013 22:37 Jos dijo... Excelente aporte. En lo personal estoy interesado en utilizar algn procedimiento parecido pero para PowerPoint. En otras palabras, ofrecer un PPT a un usuario para que al completar un formulario pueda luego insertarlo en una base de datos. Me pregunto si las tcnicas que comentas aqu pueden ser trasladadas a PowerPoint VBA. 3 de julio de 2013 20:19 Pedro Garca Martnez dijo... Muy buena explicacin, me ha servido de base para hacer mi propia macro. Me gustara saber si se pudiera agregar un botn para "adjuntar un archivo" que al darle click aparezca una ventana en donde se puede buscar la ubicacin de dicho archivo, despus crear un botn para aceptar y que en la hoja de clculo aparezca como un hipervnculo en una celda donde la macro vaciar el nombre de la persona que se registra. De antemano gracias por la atencin prestada 7 de julio de 2013 23:09 Publicar un comentario en la entrada

Enlaces a esta entrada


Crear un enlace

Entrada ms reciente Suscribirse a: Enviar comentarios (Atom)

Pgina principal

Entrada antigua

Puedes suscribirte via RSS


Entradas
www.excelavanzado.com/2011/06/userform-para-alimentar-una-base-de.html 11/12

7/16/13

Excel Avanzado: UserForm para alimentar una base de datos

Comentarios

Curso de Macros
0020: 0050: 0070: 0080: 0090: 0100: Ficha Programador Mi primera macro Escribir en una hoja desde una macro Nuevas formas de escribir con macro Lanzar macros con iconos y botones Lluvia

Domin online
www.ludoteka.com/domino Juego por parejas e individual Torneos y miles de jugadores

www.excelavanzado.com/2011/06/userform-para-alimentar-una-base-de.html

12/12