You are on page 1of 5

Excel VBA - Gua gratuita de referencia en lnea (formulario de usuario...

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&pr...

Formulario de usuario - Ejemplo de entrada


Este artculo le guiar a travs de una entrada de usuario sencillo formulario que ag informacin de registro en una hoja de clculo. La forma es un diseo bsico con nfasis en cmo construir la forma y el cdigo que responda a la funcionalidad que estamos buscando. Esto es lo que se va a lograr: 1. Un formulario de usuario se carga desde un botn en una hoja de clculo.

2. Los usuarios deben completar nombre y apellido, y elegir un departamento (que se ser codificado como campos obligatorios). 3. Al elegir el botn Aadir que se anexar a la hoja de trabajo (llamadas de datos) Siempre encuentro la siguiente fila disponible en blanco para rellenar. 4. El formulario se mantendr abierta la liquidacin de valores listo para la entrada de registro siguiente hasta en el botn Cerrar que se hace clic. 5. Una macro privado (desde el mdulo estndar) llama el formulario de usuario (a travs de su hoja de clculo botn). Hay propiedades y el cdigo para el formulario, dos y botones y la caja desplegable combo que tendremos que aadir el mdulo privado del formulario. El orden en la creacin de un rasgo tan libremente debe seguir los siguientes pasos: 1. Crear el formulario de usuario lienzo. 2. Agregue los controles al formulario y establecer varias propiedades bsicas (incluido los nombres). 3. Agregue cdigo a los controles del formulario 4. El cdigo de la interaccin de la hoja de trabajo (y preparar el diseo de hoja de trabajo tambin). 5. Aadir una macro para llamar el formulario y adjuntar a un botn en la hoja de clcul 6. Pruebe el proceso! Crear el formulario de usuario lienzo Aadir un nuevo usuario en blanco el proyecto de VBA. En el Editor de VBE , seleccione I nsert, U serForm. Agregue los controles al formulario Es necesario agregar los siguientes controles: 1. Dos botones de comando 2. Tres etiquetas 3. Dos cuadros de texto 4. Un ComboBox 5. Un CheckBox Coloque los controles ms o menos donde te gustara utilizar estos controles y cambia tamao del formulario.

1 de 5

27/09/2012 08:05 a.m.

Excel VBA - Gua gratuita de referencia en lnea (formulario de usuario...


tamao del formulario.

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&pr...

No te preocupes por la posicin exacta por ahora:

Ajuste de las propiedades de cada control Los siguientes controles se pueden establecer en la ventana Propiedades (tecla de funcin F4). Primero haga clic una vez para seleccionar el control (por lo que tiene el foco) y luego desde las propiedades cambia su configuracin. Aqu est la tabla de los controles anteriores (y formulario de usuario en s mismo):
Controle Propiedad Valor

CommandButton1

CommandButton2

Label1

Label2

Label3

TextBox1

TextBox2

Nombre Ttulo Defecto Altura Ancho Izquierda Superior TabIndex Nombre Ttulo Cancelar Altura Ancho Izquierda Superior TabIndex Ttulo Altura Izquierda Superior Ancho Ttulo Altura Izquierda Superior Ancho Ttulo Altura Izquierda Superior Ancho Nombre Altura Izquierda Superior Ancho TabIndex Nombre Altura Izquierda Superior

cmdAdd Aadir Verdadero 20 60 132 114 4 Cmdclose Cerrar Verdadero 20 60 198 114 5 Nombre: 18 12 12 72 Apellidos: 18 12 36 72 Departamento: 18 12 60 72 txtFName 18 84 12 108 0 txtSName 18 84 36

2 de 5

27/09/2012 08:05 a.m.

Excel VBA - Gua gratuita de referencia en lnea (formulario de usuario...

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&pr...

ComboBox1

CheckBox1

UserForm1

Superior Ancho TabIndex Nombre Altura Izquierda Superior Ancho TabIndex Nombre Ttulo Altura Izquierda Superior Ancho TabIndex Nombre Ttulo Altura Ancho

36 108 1 cboDept 18 84 60 108 2 chkManager Gerente 18 84 84 108 3 frmDataInput Ejemplo de entrada de datos 162,75 267

Usted puede cambiar algunas de estas propiedades al gusto - esto es lo que estoy usan en este ejemplo. Adicin de cdigo a los controles El siguiente paso es empezar a programar la forma y es importante que usted tiene por menos el nombre de los controles que desea cdigo, ya que va a generar su propio evento de firma. Comenzando con el botn Cerrar que se limitar a cerrar y terminar el formulario de usuario. Private Sub cmdClose_Click () 'Cerrar el formulario (en s misma) Unload Me End Sub

Unload Me se refiere a s mismo que es rpido y fcil. Para cerrar explcitamente un


formulario de usuario, se hace referencia al nombre real de la forma. Por lo tanto, el uso Descargue frmDataInput ser el mismo resultado. A continuacin, vamos a aadir cdigo (tiempo de ejecucin) para rellenar el control ComboBox (cboDept) que dinmicamente crear cuatro opciones fijas para elegir. Private Sub UserForm_Initialize () Me.cboDept.AddItem "Finanzas" Me.cboDept.AddItem "Ventas" Me.cboDept.AddItem "Markerting" Me.cboDept.AddItem "Recursos Humanos" Posicin Me.txtFName.SetFocus 'el cursor en este mando End Sub Como se carga el formulario (inicializa), se aade cuatro elementos al control cboDept luego coloca el cursor en txtFName listo para el usuario para iniciar la codificacin de los datos.

Se podra, por supuesto, poner esto en las propiedades (RowSource) para cboDept que hace referencia al rango de celdas en una hoja de clculo. La pieza final de cdigo se adjunta el control de botn cmdAdd as que cuando los usuarios hacen clic a este evento, que se sumar a los detalles de la hoja de trabajo datos). Private Sub cmdAdd_Click () Dim i As Integer

3 de 5

27/09/2012 08:05 a.m.

Excel VBA - Gua gratuita de referencia en lnea (formulario de usuario...

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&pr...

La posicin del cursor en la celda A2 correcta. Range ("A2"). Seleccione i = 1 'set como el primer ID 'Validar los tres primeros controles se han introducido ... Si Me.txtFName.Text = Empty Entonces 'Nombre MsgBox "Por favor, introduzca nombre de pila.", VbExclamation Cursor Me.txtFName.SetFocus la posicin para volver a intentarlo Exit Sub 'terminar aqu - por qu continuar? End If Si Apellidos Me.txtSName.Text Entonces = Empty ' MsgBox "Por favor, introduzca su apellido.", VbExclamation Cursor Me.txtSName.SetFocus la posicin para volver a intentarlo Exit Sub 'terminar aqu - por qu continuar? End If Si Departamento Me.cboDept.Text = Empty Entonces ' MsgBox "Por favor, elija un departamento.", VbExclamation Cursor Me.cboDept.SetFocus la posicin para volver a intentarlo Exit Sub 'terminar aqu - por qu continuar? End If "Si todo lo anterior es falso (OK) y luego seguir adelante. 'Check para ver la siguiente fila vaca disponible comienzan en la celda A2 ... Do Until ActiveCell.Value = Empty ActiveCell.Offset (1, 0). Seleccione 'mover hacia abajo una fila i = i + 1 'mantener un recuento de la ID para su uso posterior Bucle "Llenar los nuevos valores de datos en hoja de clculo de los 'Datos'. Nmero de identificacin del siguiente ActiveCell.Value = i ' ActiveCell.Offset (0, 1). Valor = Me.txtFName.Text 'set col B ActiveCell.Offset (0, 2). Valor = Me.txtSName.Text 'set col C ActiveCell.Offset (0, 3). Valor = Me.cboDept.Text 'set col D "Es esta persona el encargado? Si Me.chkManager.Value = True Then 'si ActiveCell.Offset (0, 4). Valor = "S" 'Col E Ms ActiveCell.Offset (0, 4). Valor = "No" 'Col E End If 'Borrar por los valores a mano para la entrada de registro siguiente ... Me.txtFName.Text = Empty Me.txtSName.Text = Empty Me.cboDept.Text = Empty Me.chkManager.Value = False Posiciones Me.txtFName.SetFocus 'el cursor para la entrada de registro siguiente End Sub Lo anterior debera ser fcil de seguir (ver los comentarios). Nosotros no tenemos que decirle al sistema que hoja de trabajo para estar en como se a llamar desde un control (botn de hoja de clculo) que se celebrar los datos en la misma hoja de clculo y luego ocultar este procedimiento desde el cuadro de dilogo Macros detener cualquier otro camino para que este formulario sea llamado. Crear un botn de hoja de clculo En la hoja de clculo de Excel, haga clic en la ficha Programador en la barra de la cinta el icono Insertar para caer hacia abajo una lista de controles. Seleccione el icono de control Button desde las formas (seccin) y dibuje un botn donde desea colocarla (fila superior, rea panel inmovilizado). En el cuadro de asignacin de macro de dilogo pop-up, haga clic en el botn Nuevo ... para crear un mdulo y firma y agregue el siguiente cdigo: Sub Button1 _CLICK () 'Cargar el formulario frmDataInput.Show

4 de 5

27/09/2012 08:05 a.m.

Excel VBA - Gua gratuita de referencia en lnea (formulario de usuario...


frmDataInput.Show End Sub

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&pr...

Agregue la palabra clave Private ante la Subcomisin palabra clave para ocultar esto desde el cuadro de dilogo macro. Probarlo! As es como se ve la forma como se le llama en el botn de control de hoja de la hoja datos.

5 de 5

27/09/2012 08:05 a.m.

You might also like