excel avanzado_ userform para alimentar una base de datos

12
7/16/13 Excel Avanzado: UserForm para alimentar una base de datos www.excelavanzado.com/2011/06/userform-para-alimentar-una-base-de.html 1/12 Página principal Macros Suscripción V JUEVES, 16 DE JUNIO DE 2011 UserForm para alimentar una base de datos Descargar el fichero: UserForm.xls 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 pequeña base de datos sobre Excel. Se trata de una tabla con 4 campos: Nombre, Departamento, Extensión y eMail. Disponemos de un botón incrustado que lanza el proceso y llama al Formulario de entrada de datos. Excel Avanzado http://excelavanzado.com Datos personales Adolfo Aparicio Excel Avanzado Valoración Financiera Blog de Access Canal de YouTube Twitter Ver todo mi perfil Facebook Excel Avanzado Me gusta 370 Suscriptores Excel Avanzado Macros, Funciones de Excel, Trucos

Upload: spuzzar

Post on 29-Oct-2015

1.513 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Excel Avanzado_ UserForm Para Alimentar Una Base de Datos

7/16/13 Excel Avanzado: UserForm para alimentar una base de datos

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

Página principal Macros Suscripción

V

J UE V E S , 16 D E J UN I O D E 2011

UserForm para alimentar una base de datos

Descargar el fichero: UserForm.xls

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 pequeña base de datos sobre Excel. Se trata de

una tabla con 4 campos: Nombre, Departamento, Extensión y eMail.

Disponemos de un botón incrustado que lanza el proceso y llama al Formulario de entrada de

datos.

Excel Avanzado

http://excelavanzado.com

Datos personales

Adolfo Aparicio

Excel Avanzado

Valoración Financiera

Blog de Access

Canal de YouTube

Twitter

Ver todo mi perfil

Facebook

Excel Avanzado

Me gusta 370

Suscriptores

Excel AvanzadoMacros, Funciones de Excel, Trucos

Page 2: Excel Avanzado_ UserForm Para Alimentar Una Base de Datos

7/16/13 Excel Avanzado: UserForm para alimentar una base de datos

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

La macro asociada al botón es la siguiente.

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.

Esto genera el UserForm1, que aparecerá como una zona rectangular sobre la que

posteriormente iremos introduciendo diferentes elementos del Cuadro de herramientas.

Seguidamente se muestra el Cuadro de Herramientas.

Después de trabajar un rato sobre nuestro primer UserForm quedará así:

Suscribase via email

Introduzca su email:

Suscribirse

Delivered by FeedBurner

Páginas recomendadas

Valoración Financiera con Excel

Página oficial Excel

Contextures

Blog: JLD Excel

excelnegocios.com

Blog: Hojas de cálculo Excel

exceltrabajaporti.com

Trucos de Excel

EXCELeINFO

Economía Excel

Excel Foro

Plantillas de Power Point

Cálculo de la Letra del DNI

Páginas en Inglés

Chip Pearson

Buscar

Archivo del blog

► 2012 (9)

▼ 2011 (37)

► diciembre (4)

► noviembre (3)

► octubre (4)

► septiembre (2)

► agosto (3)

► julio (4)

▼ junio (10)

Eliminar Filas y Columnas

vacias

UserForm para alimentar una

base de datos

Selección de Gráficos

Rango Dinámico

Convertir una Tabla de doble

entrada en una base d...

Estructuras repetitivas: Do

While ... Loop

Tablas Dinámicas y Campos

calculados

Ajuste Potencial

Interpolación

Page 3: Excel Avanzado_ UserForm Para Alimentar Una Base de Datos

7/16/13 Excel Avanzado: UserForm para alimentar una base de datos

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

Al ejecutar el UserForm1 veremos lo siguiente.

Disponemos de la ventana de propiedades para ir cambiando algunas, como por ejemplo el

rótulo que aparece en la cabecera del UserForm1. Hemos denominado al formulario 'Ficha

personal'. Esto se hace modificando la propiedad Caption.

Otra ventana importante es la ventana del Proyecto. Finalmente llegaremos a manejar tres

formularios, que se pueden ver en la imagen siguiente como:

Suma con errores

► mayo (2)

► abril (1)

► marzo (1)

► febrero (3)

► 2010 (35)

► 2009 (40)

► 2008 (23)

► 2007 (1)

Post al azar

Seguidores

Participar en este sitioGoogle Friend Connect

Miembros (182) Más »

¿Ya eres miembro? Iniciar sesión

Páginas vistas los últimos 30 días

Etiquetas

2007 (2)

access (1)

Aleatorio (6)

amortización anticipada (1)

Análisis de Sensibilidad (1)

array (1)

Auto_Close (1)

Auto_Open (1)

bolsa (2)

Bonos (8)

botón (1)

Buscar Objetivo (3)

BUSCARV (3)

carencia (1)

COINCIDIR (1)

color (1)

concatenar (1)

1 1 1 5 5 2

Page 4: Excel Avanzado_ UserForm Para Alimentar Una Base de Datos

7/16/13 Excel Avanzado: UserForm para alimentar una base de datos

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

UserForm1

UserForm2

UserForm3

Pulsando con el botón derecho del ratón sobre el UserForm1 podemos pedir que se vea el objeto

(el propio UserForm1) o que se vea el código asociado a sus botones y demás herramientas de

control.

Si pedimos Ver código del UserForm1 obtendremos la siguiente ventana.

Consolidar (1)

Constante (1)

Contar.si (3)

Curso de Macros (6)

DBSUMA (1)

desplegable (1)

DESREF (2)

distribuciones (1)

Distribución LogNormal (1)

Distribución Normal (1)

edad (1)

eliminar (2)

escenarios (1)

estadística (5)

ETTI (2)

Euribor (1)

evento (1)

Excel (18)

fecha (2)

financieras (20)

finanzas (1)

Formato Condicional (2)

Forward (1)

Frecuencia (1)

Funciones (5)

función matricial (13)

function (3)

geométrica (2)

geométrico (1)

glosario (2)

gráficos (5)

histograma (1)

histórico (1)

Hoy (1)

IBEX (1)

Incertidumbre (1)

INDIRECTO (5)

inglés (1)

Interseccion de Fisher (1)

Introducción (1)

juego (1)

k.esimo (2)

Leasing (1)

logaritmo (1)

Macros (33)

matriz (2)

mensual (2)

Montecarlo (4)

Neperiano (1)

Page 5: Excel Avanzado_ UserForm Para Alimentar Una Base de Datos

7/16/13 Excel Avanzado: UserForm para alimentar una base de datos

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

Aquí se programan todos los botones y etiquetas que utilizamos en el UserForm1.

En el desplegable de arriba, a la izquierda podemos elegir diferentes elementos como se ve en

la siguiente imagen.

En el desplegable de la derecha podemos elegir diferentes eventos.

permutaciones (1)

poisson (2)

pospagable (1)

prepagable (1)

Préstamo (17)

Random Walk (1)

rango (2)

rentas (3)

Repetidos (2)

Rnd (1)

Simulación (7)

Solver (7)

Subtotales (2)

SUMAPRODUCTO (4)

SUMAR.SI (3)

Tabla Dinámica (14)

Tablas (2)

TASA (1)

test (1)

texto (2)

tipo variable (5)

TIR (9)

TIR modificada (1)

TIR multiple (1)

TIR.NO.PER (1)

traducción (1)

Trucos (1)

UserForm (1)

Validación (3)

valor actual (1)

valor final (1)

VAN (6)

VBA (2)

VF (1)

VNA.NO.PER (1)

vídeo (1)

Word (1)

Workbook_Open (1)

xlw (1)

Page 6: Excel Avanzado_ UserForm Para Alimentar Una Base de Datos

7/16/13 Excel Avanzado: UserForm para alimentar una base de datos

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

El UserForm2 es el siguiente.

El código del UserForm2 se muestra en la siguiente imagen.

Twitter

Page 7: Excel Avanzado_ UserForm Para Alimentar Una Base de Datos

7/16/13 Excel Avanzado: UserForm para alimentar una base de datos

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

El UserForm3 es el siguiente.

El código del UserForm3 se muestra en la siguiente imagen.

Page 8: Excel Avanzado_ UserForm Para Alimentar Una Base de Datos

7/16/13 Excel Avanzado: UserForm para alimentar una base de datos

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

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

[email protected] 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: [email protected] ;

Page 9: Excel Avanzado_ UserForm Para Alimentar Una Base de Datos

7/16/13 Excel Avanzado: UserForm para alimentar una base de datos

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

[email protected] y [email protected]

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 día Ingeniero

Excelente uso de userform y una explicacion por demás agradable y muy entendible.

Tengo una inquietud al respecto:

si quisiera enviar la informacion a la hoja "basededatos" y a otro más por decir

"registromovimientos", ¿como sería la macro en este caso específico?

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 RESPUESTADNI As Single

Dim RESPUESTANOMBRES As Double

Dim RESPUESTAFNAC As Double

Dim 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

Page 10: Excel Avanzado_ UserForm Para Alimentar Una Base de Datos

7/16/13 Excel Avanzado: UserForm para alimentar una base de datos

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

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 explicación 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 información, sea esta direccion, telefono, etc.

Gracias!

14 de enero de 2013 20:42

Heliospot dijo...

Buenos Días, gracias por la explicación, 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 rápida, creo que a través de un formulario de datos

y con un hipervinculo podría 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

Page 11: Excel Avanzado_ UserForm Para Alimentar Una Base de Datos

7/16/13 Excel Avanzado: UserForm para alimentar una base de datos

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

Entrada más reciente Entrada antigua

Publicar un comentario en la entrada

Enlaces a esta entrada

Crear un enlace

Página principal

Suscribirse a: Enviar comentarios (Atom)

Puedes suscribirte via RSS

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 algún 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 técnicas que comentas aquí pueden ser trasladadas a PowerPoint VBA.

3 de julio de 2013 20:19

Pedro García Martínez dijo...

Muy buena explicación, me ha servido de base para hacer mi propia macro. Me gustaría

saber si se pudiera agregar un botón para "adjuntar un archivo" que al darle click

aparezca una ventana en donde se puede buscar la ubicación de dicho archivo, después

crear un botón para aceptar y que en la hoja de cálculo aparezca como un hipervínculo en

una celda donde la macro vaciará el nombre de la persona que se registra. De antemano

gracias por la atención prestada

7 de julio de 2013 23:09

Entradas

Page 12: Excel Avanzado_ UserForm Para Alimentar Una Base de Datos

7/16/13 Excel Avanzado: UserForm para alimentar una base de datos

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

Curso de Macros

0020: Ficha Programador

0050: Mi primera macro

0070: Escribir en una hoja desde una macro

0080: Nuevas formas de escribir con macro

0090: Lanzar macros con iconos y botones

0100: Lluvia

Comentarios

Dominó online

www.ludoteka.com/domino

Juego por parejas e individual Torneosy miles de jugadores