Professional Documents
Culture Documents
Excel Avanzado
Macros, Funciones de Excel, Trucos
Pgina principal
Macros
Suscripcin
Excel Avanzado http://excelavanzado.com Datos personales Descargar el fichero: UserForm.xls Adolfo Aparicio
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
Suscriptores
www.excelavanzado.com/2011/06/userform-para-alimentar-una-base-de.html
1/12
7/16/13
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
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
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.
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
7/16/13
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)
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
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
El UserForm2 es el siguiente.
www.excelavanzado.com/2011/06/userform-para-alimentar-una-base-de.html
6/12
7/16/13
El UserForm3 es el siguiente.
www.excelavanzado.com/2011/06/userform-para-alimentar-una-base-de.html
7/12
7/16/13
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
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
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
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
Pgina principal
Entrada antigua
7/16/13
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