Wie Benutzer Formulare mit Excel 2003 erstellen . Formulare, die verwendet werden, um zu sammeln und überprüfen Sie Informationen von einem Benutzer schützen Sie Ihr Arbeitsblatt von unnötigen Änderungen und Streichungen , die Benutzer machen könnte , wenn sie Zugang zu den eigentlichen Daten Liste auf den entsprechenden Arbeitsblatt. Jede Form Sie erstellen verlangen und sammeln verschiedene Informationen, aber wenn Sie lernen, die Visual Basic für Applikationen ( VBA)-Code für die Sie bauen und anpassen können jede Form in Excel 2003 . Things You
Microsoft Office Excel 2003
brauchen anzeigen Weitere Anweisungen
1
Im Menü "Extras" , zeigen Sie auf " Makro " und klicken Sie dann auf " Visual Basic-Editor " oder drücken Sie " ALT " +" F11 ", um den Visual Basic -Editor zu öffnen . Öffnen Sie das Menü "Main" , wählen Sie " Einfügen" und klicken Sie auf "User Form" , um eine neue UserForm-Objekt zu erstellen.
2
Platz ein TextBox-Steuerelement und ein Label-Steuerelement für jede Spalte im Arbeitsblatt auf die bilden durch einen Doppelklick auf das Steuerelement oder indem Sie sie aus der Toolbox auf das Formular. Ersetzen Sie eine TextBox und Label- Kombination mit einem ComboBox-Steuerelement , wenn Sie den Benutzer mit einer Liste von Optionen zu präsentieren , um von für den Bereich eher als ein Textfeld auswählen möchten .
3
weisen Sie den richtigen Feldnamen Objekte, die Text-und Combo-Boxen , indem Sie die entsprechende Datenbank Feldnamen in die Name-Eigenschaft Zeile in der entsprechenden Eigenschaften-Fenster . Ändern Bildunterschrift Eigenschaften zu einer benutzerfreundlichen Anzeigenamen gleichzeitig .
4
Doppelklicken Sie auf das " CommandButton " Steuerungsinstrument viermal den ersten, vorherigen , nächsten oder letzten Schaltflächen zu Ihrem Formular hinzufügen . Geben Sie ihre Namen in die Caption-Eigenschaft Linie in ihren entsprechenden Eigenschaften-Fenster .
5
Ziehen Sie ein TextBox -Steuerelement auf der Form, in zwischen den Zurück und Weiter Kontrollen . Type " RowNumber " in seine Name-Eigenschaft Linie . Geben Sie " 2 " auf der Text-Eigenschaft Linie .
6
Klicken oder ziehen Sie drei zusätzliche CommandButton-Steuerelemente auf das Formular. Type " Speichern ", " Abbrechen " und " Add" auf ihre entsprechenden Name-Eigenschaft Linien . Legen Sie die Enabled-Eigenschaft auf den Speichern und Abbrechen Schaltflächen , wenn Sie die Eigenschaften von geben .
7
Falsch Ordnen Sie Ihre Steuerelemente und Beschriftungen , dann passen Sie die Größe des Benutzers Form mit dem Klick und Drag -Methode bis Sie sicher sind , dass die Form einfach zu bedienen und angenehm für einen Benutzer . sind
8
Fügen Sie zusätzliche Textfelder und ihre Eigenschaften wie für zusätzliche Funktionalität und Attraktivität benötigt. ein Formular Feld Titel wird empfohlen .
9
Typ GetData diese Routine in der VBA-Code ersetzen Ihre Fenster Spaltennamen (Feldname Eigenschaften) und Datentypen mit der Probe CustomerId , CustomerName , Stadt, Bundesland , Postleitzahl und DateAdded Spaltennamen :
" private Sub GetData ( )
Dim r As Long
Wenn IsNumeric ( RowNumber.Text ) Dann
r = CLng ( RowNumber.Text )
Else
ClearData
MsgBox "Illegal Zeilennummer "
Exit Sub End If
Wenn r > ; 1 und R <= LastRow Dann
CustomerId.Text = FormatNumber ( Cells (r, 1) , 0)
CustomerName.Text = Cells (r, 2)
< p> City.Text = Cells (r, 3)
State.Text = Cells (r, 4)
Zip.Text = Cells (r, 5 )
DateAdded.Text = FormatDateTime ( Cells (r, 6) , vbShortDate )
DisableSave
ElseIf r = 1 Then
ClearData
Else
ClearData
MsgBox " Ungültige Zeilennummer "
End If End Sub
"
10
Typ ClearData diese Routine in der VBA . Code-Fenster Ersetzen Sie Ihre Spaltennamen (Feldname Eigenschaften ) mit der Probe CustomerId , CustomerName , Stadt, Bundesland , Postleitzahl und DateAdded Spaltennamen :
" private Sub ClearData ()
CustomerId.Text = ""
CustomerName.Text = ""
City.Text = ""
State.Text = " AK "
Zip.Text = " "
DateAdded.Text = "" End Sub
"
11
Art diese Konstante LastRow Befehl in den VBA-Code -Fenster:
" Const LastRow = 20"
12
Typ DisableSave diese Routine in der VBA-Code -Fenster:
" private Sub DisableSave ()
CommandButton5.Enabled = False
CommandButton6.Enabled = False
End Sub "
13
Typ diese Routine namens RowNumber_Change in den VBA-Code -Fenster:
" private Sub RowNumber_Change ()
GetData
End Sub "
14
setzen Sie das entsprechende Ereignis Befehl durch Eingabe dieser in den VBA-Code -Fenster:
" RowNumber . Text = "2" "
15
Stellen Sie die Schaltflächen Zurück und Weiter -Codes , indem Sie diese in den VBA-Code -Fenster:
" private Sub CommandButton2_Click ()
< p > Dim r As Long
Wenn IsNumeric ( RowNumber.Text ) Dann
r = CLng ( RowNumber.Text )
r = r ? 1 of
Wenn r > 1 und R <= LastRow Dann
RowNumber.Text = FormatNumber (r, 0) End If
End Wenn
End Sub "
16
Typ dieses LastRow konstante Variable Code in den VBA-Code -Fenster:
" private Sub UserForm_Initialize ()
GetData
End Sub "
17
Typ dieses FindLastRow ()-Routine in den VBA-Code -Fenster:
" private Function FindLastRow ()
Dim r As Long
r = 2
Do While r < 65536 Und Len ( Cells (r, 1) . Text ) > 0
r = r + 1 of
Schleife
FindLastRow = r
End Function "
18
Typ UserForm_Initialize diese Ereignisse in den VBA-Code -Fenster:
< p> " LastRow = FindLastRow
private Sub CommandButton4_Click ()
LastRow = FindLastRow - 1 of
RowNumber.Text = FormatNumber ( LastRow , 0)
End Sub "
19
Typ der PutData Routine in das Code-Fenster Veränderung der Probe Spalte Namen und Orte zu Ihrem Arbeitsblatt entsprechen:
" private Sub PutData ()
< p > Dim r As Long
Wenn IsNumeric ( RowNumber.Text ) Dann
r = CLng ( RowNumber.Text )
Else
MsgBox "Illegal Reihe Nummer "
Exit Sub End If
Wenn r > 1 und r < LastRow Dann
Cells (r, 1) = CustomerId . Text
Cells (r, 2) = CustomerName.Text
Cells (r, 3) = City.Text
Cells (r, 4) = State.Text
Cells (r, 5) = Zip.Text
Cells (r, 6) = DateAdded.Text
DisableSave
Else
< p > MsgBox " Ungültige Zeilennummer "
End If End Sub
"
20
Typ dieses Hinzufügen von Daten -Routine in der Code-Fenster:
" private Sub CommandButton7_Click ()
RowNumber.Text = FormatNumber ( LastRow , 0)
End Sub "
21
Typ dieser Daten validieren Routine in das Code-Fenster :
" private Sub CustomerId_KeyPress (ByVal KeyAscii Wie MSForms.ReturnInteger )
Wenn KeyAscii < Asc ( " 0 ") oder KeyAscii > Asc ( " 9 ") Dann
< p> KeyAscii = 0
End If End Sub
"
22
Typ dieser Exit-Ereignis Code in den VBA-Code -Fenster:
" Private Sub DateAdded_Exit (ByVal Wie MSForms.ReturnBoolean Abbrechen )
If Not IsDate ( DateAdded.Text ) Dann
DateAdded.BackColor = & HFF &
MsgBox "Illegal Datum Wert "
Abbrechen = True Else
DateAdded.BackColor = & H80000005
End If End Sub
"
23
Typ diese Combobox Liste Details in die Code-Fenster:
" private Sub AddStates ()
State.AddItem " AK "
Staat . AddItem "AL"
State.AddItem "AR"
State.AddItem "AZ"
End Sub "
24
Typ diese Anzeige der User Form Befehle in der VBA-Code -Fenster:
" Public Sub ShowForm ()
UserForm1.Show vbModal
End Sub "
25 < p> Bewertung und Texte Formular Anweisungen und Codierung durch Auswahl von " Run" aus dem "Haupt- Visual Basic für Applikationen -Menü".