Creación de formularios de usuario en Excel 2003 hace que la entrada de datos de una brisa. Los formularios que se utilizan para recopilar y verificar la información de un usuario proteger la hoja de cálculo de los cambios innecesarios y deleciones que los usuarios podrían hacer si se les da acceso a la lista real de los datos en la hoja correspondiente. Toda forma de crear solicitará y recopilar información diferente, pero una vez que aprender el Visual Basic para código de uno puede crear y personalizar cualquier forma en Excel 2003 Aplicaciones ( VBA) . Cosas que necesitará
Microsoft Office Excel 2003
Mostrar más instrucciones
1 En el menú " Herramientas" , seleccione "Macro " y luego haga clic en " Editor de Visual Basic "o pulse " ALT "+ " F11 "para abrir el Editor de Visual Basic . Abra el menú "Main " , seleccione " Insertar" y haga clic en " Forma de usuario" para crear un nuevo objeto UserForm .
2
Coloque un control TextBox y un control Label para cada columna de la hoja de trabajo sobre la formar haciendo doble clic en el control o arrastrándolos desde el Cuadro de herramientas hasta el formulario. Reemplace cualquier cuadro de texto y la combinación de la etiqueta con un control ComboBox si desea presentar al usuario una lista de opciones para seleccionar el campo en lugar de un cuadro de texto .
3
Asignar la correcta propiedades del nombre de campo en el texto y cuadros combinados escribiendo los nombres de los campos de base de datos correspondientes a la línea de la propiedad Name en la ventana de propiedades correspondiente . Cambiar las propiedades Caption a un nombre de pantalla fácil de usar al mismo tiempo.
4 Haga doble clic en la herramienta de control " CommandButton " cuatro veces para agregar la Primera, botones Anterior , Siguiente y Último en el formulario . Escriba su nombre en la línea de propiedad de título en sus vitrinas de propiedad correspondientes .
5
Arrastre un control TextBox en el formulario entre los controles Anterior y Siguiente . Tipo " RowNumber " en su nombre la línea de propiedad . Tipo " 2 " en la línea de la propiedad Texto.
6
clic o arrastre tres controles CommandButton adicionales en el formulario. Escriba " Guardar ", "Cancelar " y " Añadir " en sus nombres correspondientes líneas de propiedad . Establezca la propiedad Enabled en False en el botón Guardar y Cancelar botones de comando al escribir las propiedades Nombre .
7
Organice sus controles y etiquetas , luego ajuste el tamaño del formulario de usuario con el clic y el método de arrastrar hasta que esté seguro de que la forma es fácil de usar y agradable para el usuario .
8
Añada los cuadros de texto adicionales y establezca sus propiedades como sea necesario para la funcionalidad y el atractivo adicional. se recomienda un cuadro de título del formulario .
9
Tipo esta rutina GetData en la ventana de código VBA reemplazar sus nombres de las columnas ( propiedades del nombre de campo) y tipos de datos con la muestra CustomerId , CustomerName , ciudad, estado , código postal y DateAdded nombres de columna :
"Sub GetData privada ( )
r As Long Dim
Si IsNumeric ( RowNumber.Text ) Entonces
r = CLng ( RowNumber.Text )
demás
ClearData
MsgBox " número de línea no válido"
Exit Sub End If
Si r> ; 1 y r < = LASTROW Entonces
CustomerId.Text = FormatNumber ( Cells ( r , 1 ) , 0 )
CustomerName.Text = Cells ( r , 2 )
< p> City.Text = Cells ( r , 3 )
State.Text = células ( r , 4 )
Zip.Text = células ( r , 5 )
DateAdded.Text = FormatDateTime ( Cells ( r , 6 ) vbShortDate )
DisableSave
ElseIf r = 1 Entonces
ClearData
demás
ClearData
MsgBox " no válido número de fila "
End If End Sub
"
10
Tipo esta rutina ClearData en el VBA . ventana de código en lugar de los nombres de las columnas ( propiedades del nombre de campo) con la muestra CustomerId , CustomerName , ciudad, estado , código postal y nombres de columna DateAdded :
"Private Sub ClearData ()
CustomerId.Text = ""
CustomerName.Text = ""
City.Text = ""
State.Text = "AK "
Zip.Text = " "
DateAdded.Text = ""
End Sub "
11
Escriba este comando constante LASTROW en la ventana de código VBA :
"Const LASTROW = 20 "
12
Tipo esta rutina DisableSave en la ventana de código VBA :
" DisableSave Sub Private ()
CommandButton5.Enabled = False
CommandButton6.Enabled = False End Sub
"
13
Tipo esta rutina llamada RowNumber_Change en la ventana de código VBA :
" Sub RowNumber_Change privado ()
GetData
End Sub "
14
Active el comando de evento apropiado escribiendo esto en la ventana de código VBA :
" RowNumber . Texto = " 2 " "
15
Configurar los códigos de los botones Anterior y Siguiente , escriba esto en la ventana de código VBA :
" Private Sub CommandButton2_Click ()
< p > r As Long Dim
Si IsNumeric ( RowNumber.Text ) Entonces
r = CLng ( RowNumber.Text )
r = r ? 1
Si r> 1 y r < = LASTROW Entonces
RowNumber.Text = FormatNumber (r, 0 )
End If End
Si
End Sub "
16
Escriba este código LASTROW constante variable a la ventana de código VBA :
" Private Sub UserForm_Initialize ()
GetData
End Sub "
17
Tipo esta FindLastRow () de rutina en la ventana de código VBA :
" Private Función FindLastRow ()
r As Long Dim
r = 2
Do While r < 65,536 Y Len ( Cells (r, 1 ) . texto) > 0
r = r + 1
Loop
FindLastRow = r
End Function "
18
Tipo UserForm_Initialize estos eventos en la ventana de código VBA:
< p> " LASTROW = FindLastRow
Private Sub CommandButton4_Click ()
LASTROW = FindLastRow - 1
RowNumber.Text = FormatNumber ( LASTROW , 0 )
End Sub "
19
Tipo de la rutina putdata en la ventana de código cambiando los nombres de las columnas de muestra y lugares para que coincida con la hoja de cálculo :
" Sub Private putdata ()
< p > r As Long Dim
Si IsNumeric ( RowNumber.Text ) Entonces
r = CLng ( RowNumber.Text )
demás
MsgBox " fila ilegal número "
Exit Sub End If
Si r> 1 y r < LASTROW Luego, las células
inicio ( r , 1 ) = CustomerId . texto Fotos células
( r , 2 ) = CustomerName.Text
Cells ( r , 3 ) = City.Text
células ( r , 4 ) = State.Text
Las células
( r , 5 ) = Zip.Text
células ( r , 6 ) = DateAdded.Text
DisableSave
demás
< p > MsgBox " no válido número de fila "
End If End Sub
"
20
Tipo esta adición rutinaria de datos en la ventana de código :
"Sub CommandButton7_Click privada ( )
RowNumber.Text = FormatNumber ( LASTROW , 0 )
End Sub"
21
Tipo esta rutina de validación de datos en la ventana de código :
"Private Sub CustomerId_KeyPress ( ByVal KeyAscii Como MSForms.ReturnInteger )
Si KeyAscii < Asc ( " 0 ") o KeyAscii > Asc ( " 9 ") Luego
< p> KeyAscii = 0
End If End Sub
"
22
Escriba este código de evento Exit en la ventana de código VBA :
" Private Sub DateAdded_Exit ( ByVal Cancelar Como MSForms.ReturnBoolean )
Si No IsDate ( DateAdded.Text ) Entonces
DateAdded.BackColor = & HFF & compare
MsgBox "fecha ilegal valor "
Cancelar = True
demás
DateAdded.BackColor = & H80000005
End If End Sub
" < br >
23
Tipo estos cuadros combinados detalles de la lista en la ventana de código:
" AddStates Private Sub ( ) guía
State.AddItem " AK "
Estado . AddItem "AL"
State.AddItem "AR "
State.AddItem "AZ "
End Sub "
24
Tipo éstos Viendo los comandos de formulario de usuario en la ventana de código VBA :
"Public Sub ShowForm ()
UserForm1.Show vbModal
End Sub"
25 < p > Revisión y el texto las instrucciones del formulario y la codificación mediante la opción " Ejecutar" en el "Main Visual Basic para Aplicaciones Menu . "