Création de formulaires utilisateur dans Excel 2003 permet la saisie de données une brise. Les formulaires qui sont utilisés pour collecter et vérifier les informations d'un utilisateur de protéger votre feuille de changements et suppressions inutiles que les utilisateurs pourraient faire si on leur donne accès à la liste des données réelles sur la feuille de calcul correspondante . Chaque formulaire que vous créez sera demander et recueillir des informations différentes, mais une fois que vous apprendre le Visual Basic pour Applications (VBA) pour celui que vous pouvez créer et personnaliser n'importe quelle forme dans Excel 2003. Choses que vous devez
Microsoft Office Excel 2003
Afficher plus Instructions
1
Dans le menu "Outils" , pointez sur "Macro" , puis cliquez sur " Visual Basic Editor " ou appuyez sur" Alt "+" F11 "pour ouvrir l'éditeur Visual Basic . Ouvrez le menu "Main" , sélectionnez "Insérer" et cliquez sur " User Form " pour créer un nouvel objet UserForm .
2
Placez un contrôle TextBox et un contrôle Label pour chaque colonne de votre feuille de calcul sur le former en double- cliquant sur le contrôle ou en les faisant glisser de la boîte à outils vers le formulaire. Remplacer une zone de texte et la combinaison de l'étiquette avec un contrôle ComboBox si vous souhaitez présenter à l'utilisateur une liste d'options à choisir pour le champ plutôt que d'une zone de texte.
3
Attribuer la bonne terrain propriétés de nom au texte et combos en tapant les noms des champs de base de données correspondant à la ligne Nom de propriété dans sa fenêtre de propriétés correspondante . Modifier les propriétés de légende à un nom d'affichage convivial en même temps .
4
Double- cliquez sur l'outil de contrôle " CommandButton " quatre fois pour ajouter le premier , boutons Précédent , Suivant et Dernier à votre formulaire . Tapez leurs noms dans la ligne de propriété Caption dans leurs fenêtres de propriété correspondants.
5
Faites glisser un contrôle TextBox sur la forme entre les commandes Précédent et Suivant . Tapez " RowNumber » dans sa ligne de propriété de nom . Tapez « 2 » sur la ligne de propriété du texte .
6
Cliquez ou faites glisser trois contrôles CommandButton supplémentaires sur le formulaire. Type "Enregistrer ", " Annuler " et " Add" sur leurs lignes de propriété de nom correspondant . Définir la propriété Enabled à False sur la Save et Cancel boutons de commande lorsque vous tapez les Propriétés du nom .
7
Organisez vos contrôles et des étiquettes , puis ajuster la taille de la forme de l'utilisateur avec le clic et la méthode de glisser jusqu'à ce que vous êtes sûr que la forme est facile à utiliser et agréable à l'utilisateur.
8
Ajouter des zones de texte et définissez leurs propriétés comme nécessaire pour des fonctionnalités supplémentaires et d'appel. une boîte de titre du formulaire est recommandé .
9
type cette routine GetData dans la fenêtre de code VBA remplacement de vos noms de colonnes (propriétés de noms de domaine ) et des types de données avec l'échantillon noms de colonnes CustomerId , CustomerName , Ville, état, code postal et DateAdded :
" Private Sub GetData ()
de r As long
Si IsNumeric ( RowNumber.Text ) Puis
r = CLng ( RowNumber.Text )
Else
ClearData
MsgBox " numéro de ligne illégale "
Exit Sub End If
Si r> ; 1 et R < = LastRow Puis
CustomerId.Text = FormatNumber ( Cells ( r , 1) , 0 )
CustomerName.Text = Cells ( r , 2) Photos < p> City.Text = Cells ( r , 3) pour
State.Text = cellules ( r , 4)
Zip.Text = cellules ( r , 5)
DateAdded.Text = FormatDateTime ( Cells ( r , 6) , vbShortDate )
DisableSave
ElseIf r = 1 alors
ClearData
Else
ClearData
MsgBox "Invalid numéro de ligne "
End If End Sub
"
10 Type
cette routine ClearData dans le VBA . fenêtre de code Remplacez vos noms de colonnes (propriétés de nom de champ ) avec l'échantillon CustomerId , CustomerName , Ville, État, code postal et le nom de la colonne DateAdded :
" Private Sub ClearData ()
CustomerId.Text = ""
CustomerName.Text = ""
City.Text = ""
State.Text = " AK "
Zip.Text = ""
DateAdded.Text = ""
End Sub "
11
Tapez cette commande constante LastRow dans la fenêtre de code VBA:
"Const LastRow = 20"
12
type de cette routine DisableSave dans la fenêtre de code VBA:
" DisableSave Private Sub ()
CommandButton5.Enabled = false
CommandButton6.Enabled = False
End Sub "
13 Type
cette routine nommée RowNumber_Change dans la fenêtre de code VBA:
" Sous RowNumber_Change privé ()
GetData
End Sub "
14
Réglez la commande de l'événement approprié en tapant dans la fenêtre de code VBA:
" RowNumber . Text = "2" "
15
Définir les Précédent et Suivant les codes des boutons en tapant dans la fenêtre de code VBA:
" Private Sub CommandButton2_Click ()
< p > r As long
Si IsNumeric ( RowNumber.Text ) Puis
r = CLng ( RowNumber.Text )
r = r ? 1
Si r> 1 et R < = LastRow Puis
RowNumber.Text = FormatNumber (r, 0)
End If End
Si
End Sub "
16
Tapez cette LastRow code variable constante dans la fenêtre de code VBA:
" Private Sub UserForm_Initialize ()
GetData
End Sub "
17
Tapez cette FindLastRow () de routine dans la fenêtre de code VBA:
" Private Function FindLastRow ()
r As long
r = 2
Do While r < 65536 Et Len ( Cells (r, 1). texte ) > 0
r = r + 1
boucle
FindLastRow = r
End Function "
18 Type
ces UserForm_Initialize événements dans la fenêtre de code VBA:
< p> " LastRow = FindLastRow
Private Sub CommandButton4_Click ()
LastRow = FindLastRow - 1 x
RowNumber.Text = FormatNumber ( LastRow , 0)
End Sub "
19
Tapez la routine PutData dans la fenêtre de code de changer les noms de colonnes de l'échantillon et des emplacements pour correspondre à votre feuille de calcul:
" Private Sub PutData ()
< p > r As long
Si IsNumeric ( RowNumber.Text ) Puis
r = CLng ( RowNumber.Text )
Else
MsgBox " ligne illégal nombre "
Exit Sub End If
Si r> 1 et R < LastRow Puis
Cells ( r , 1) = CustomerId . Texte Clip
Cells ( r , 2) = CustomerName.Text
Cells ( r , 3) = City.Text
Cells ( r , 4) = State.Text
cellules
( r , 5) = Zip.Text
Cells ( r , 6) = DateAdded.Text
DisableSave
Else
< p > MsgBox "Invalid numéro de ligne "
End If End Sub
"
20
type de cette routine Ajout de données dans la fenêtre de code :
" Private Sub CommandButton7_Click ()
RowNumber.Text = FormatNumber ( LastRow , 0)
End Sub "
21
type de cette routine de validation des données dans la fenêtre de code : Photos
" Sous CustomerId_KeyPress ( ByVal KeyAscii Comme MSForms.ReturnInteger )
privé Si KeyAscii < Asc ( " 0 ") Or KeyAscii > Asc ( " 9 ") Then
< p> KeyAscii = 0
End If End Sub
"
22
type de ce code d'événement de sortie dans la fenêtre de code VBA:
" Private Sub DateAdded_Exit ( ByVal Cancel As MSForms.ReturnBoolean )
If Not IsDate ( DateAdded.Text ) Puis
DateAdded.BackColor = & HFF &
MsgBox " Date illégale valeur "
Annuler = True
Else
DateAdded.BackColor = & H80000005
End If
End Sub " < br >
23
taper ces listes déroulantes des détails de la liste dans la fenêtre de code :
" AddStates Private Sub ()
State.AddItem " " État
AK . AddItem "AL"
State.AddItem "AR"
State.AddItem "AZ"
End Sub "
24 type de
ces Affichage des commandes de formulaire utilisateur dans la fenêtre de code VBA:
" public Sub ShowForm ()
UserForm1.Show vbModal
End Sub "
25 < p> Donnez votre avis et vos instructions texte de la forme et de codage en sélectionnant " Exécuter" dans le " principal Visual Basic pour Applications Menu ».