Skapa användarformulär i Excel 2003 gör datainmatning en bris . Formulär som används för att samla in och kontrollera information från en användare skyddar kalkylbladet från onödiga ändringar och strykningar som användarna kan göra om de får tillgång till de faktiska uppgifter listan på motsvarande kalkylblad . Varje formulär du skapar kommer att begära och samla olika information , men när du lär dig Visual Basic for Applications ( VBA ) för en du kan bygga och anpassa någon form i Excel 2003 . Saker du behöver
Microsoft Office Excel 2003
Visa fler instruktioner
1
I " Verktyg " -menyn , peka på " Makro " och klicka sedan på " Visual Basic Editor " eller tryck " ALT " + " F11 " för att öppna Visual Basic Editor . Öppna " Main" -menyn , välj " Infoga " och klicka på "User Form " för att skapa en ny UserForm objekt .
2
Placera en textrutekontroll och en Label-kontrollen för varje kolumn i kalkylbladet på bildas genom att dubbelklicka på kontrollen eller genom att dra dem från Verktygslådan på formuläret . Byt ut alla textruta och Etikett kombination med en ComboBox kontroll om du vill ge användaren en lista med alternativ att välja mellan för området snarare än en textruta .
3
Tilldela den korrekta Fältnamn egenskaper till text och lådor combo genom att skriva motsvarande namn databasen fält i namn tomtgränsen i dess motsvarande egendom fönster . Ändra Caption Properties till en användarvänlig display namn samtidigt .
4
Dubbelklicka på " CommandButton " kontrollverktyg fyra gånger för att lägga till första, föregående , nästa och sista knapparna i formuläret . Skriv deras namn i Bildtext tomtgränsen i deras motsvarande egendom fönstren .
5
Dra en textruta kontroll på form i mellan föregående och nästa kontroll . Typ " RowNumber " i sitt namn tomtgränsen . Skriv " 2 " på Text tomtgränsen .
6
Klicka eller dra ytterligare tre CommandButton kontroller på formuläret . Typ " Save ", " Cancel " och " Lägg till " på deras motsvarande linjer egenskapen Namn . Ställ in egenskapen enabled till false på Spara och Avbryt kommandoknappar när du skriver namnet på Egenskaper .
7
Ordna dina kontroller och etiketter , sedan justerar storleken på användarens formuläret med klicka och dra metod tills du är säker på att formen är enkel att använda och tilltalande för användaren .
8
Lägg till eventuella ytterligare textrutor och ange deras egenskaper som behövs för ytterligare funktionalitet och överklagande . ett formulär titel box rekommenderas .
9
Type denna Getdata rutin i VBA -kod fönstret ersätter din kolumnnamn ( fältnamn egenskaper ) och datatyper med provet CustomerId , CustomerName , Stad , delstat, Zip och DateAdded kolumnnamn :
" Private Sub GetData ( ) katalog
Dim r As Long
p Om IsNumeric ( RowNumber.Text ) Sen
r = CLng ( RowNumber.Text )
Else
clearData
MsgBox " Illegal radnummer "
Exit Sub
End If
p Om r > , 1 och R < = LastRow Sedan
CustomerId.Text = FormatNumber ( Cells ( r, 1 ) , 0 ) katalog
CustomerName.Text = Cells ( r, 2 ) katalog < p> City.Text = Celler ( r, 3 )
State.Text = celler (r, 4 )
Zip.Text = celler (r, 5 ) katalog
DateAdded.Text = FormatDateTime ( Celler ( r, 6 ) , vbShortDate ) katalog
DisableSave
ElseIf r = 1 Sedan
clearData
Else
clearData
MsgBox " Ogiltigt radnummer "
End If
End Sub "
10
Typ denna clearData rutin i VBA . kodfönster Byt dina kolumnnamn ( fältnamn egenskaper ) med provet CustomerId , CustomerName , Stad , delstat, Zip och DateAdded kolumnnamn :
" Private Sub clearData ( ) katalog
CustomerId.Text = " "
CustomerName.Text = " "
City.Text = " "
State.Text = " AK "
Zip.Text = " "
DateAdded.Text = " "
End Sub "
11
Type denna konstant LastRow kommando i VBA -kod fönstret :
" Const LastRow = 20 "
12
Type denna DisableSave rutin i VBA -kod fönstret :
" Private Sub DisableSave ( ) katalog
CommandButton5.Enabled = False
CommandButton6.Enabled = False
End Sub "
13
Type denna rutin heter RowNumber_Change i VBA -kod fönstret :
" Private Sub RowNumber_Change ( ) katalog
GetData
End Sub "
14
Ställ in lämplig händelsen kommandot genom att skriva detta i VBA -kod fönstret :
" RowNumber . Text = " 2 " "
15
Ställ in knapparna Föregående och Nästa koder genom att skriva detta i VBA -kod fönstret :
" Private Sub CommandButton2_Click ( ) katalog
Dim r As Long
p Om IsNumeric ( RowNumber.Text ) Sen
r = CLng ( RowNumber.Text ) katalog
r = r ? 1
Om r > 1 och R < = LastRow Sedan
RowNumber.Text = FormatNumber ( r , 0 ) katalog
End If
End Om
End Sub "
16
Type denna LastRow konstant variabel kod i VBA -kod fönstret :
" Private Sub UserForm_Initialize ( ) katalog
GetData
End Sub "
17
Typ denna FindLastRow ( ) rutin i VBA-koden fönstret :
" Private Function FindLastRow ( ) katalog
Dim r As Long
r = 2 Review
Do While r < 65536 Och Len ( Cells ( r, 1 ) . Text ) > 0
r = r + 1
Loop
FindLastRow = r
End Function "
18
Typ dessa UserForm_Initialize händelser i VBA -kod fönstret :
" LastRow = FindLastRow
Private Sub CommandButton4_Click ( ) katalog
LastRow = FindLastRow - 1
RowNumber.Text = FormatNumber ( LastRow , 0 ) katalog
End Sub "
19
Ange PutData rutinen in koden fönstret att ändra namn exempelkolumnen och platser för att matcha ditt kalkylblad :
" Private Sub PutData ( ) katalog
Dim r As Long
p Om IsNumeric ( RowNumber.Text ) Sen
r = CLng ( RowNumber.Text ) katalog
Else
MsgBox " Illegal rad antalet "
Exit Sub
End If
p Om r> 1 och r < LastRow Sedan
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
MsgBox " Ogiltigt radnummer "
End If
End Sub "
20
Type denna Lägga till data rutin i koden fönstret :
" Private Sub CommandButton7_Click ( ) katalog
RowNumber.Text = FormatNumber ( LastRow , 0 ) katalog
End Sub "
21
Type denna Validera data rutin in koden fönstret :
" Private Sub CustomerId_KeyPress ( ByVal KeyAscii Som MSForms.ReturnInteger ) katalog p Om KeyAscii < Asc ( " 0 " ) Eller KeyAscii > Asc ( " 9 " ) Sen
KeyAscii = 0
End If
End Sub "
22
Type denna Exit händelse kod i VBA -kod fönstret :
" Private Sub DateAdded_Exit ( ByVal Cancel Som MSForms.ReturnBoolean ) katalog p Om inte IsDate ( DateAdded.Text ) Sen
DateAdded.BackColor = & HFF & Spa
MsgBox " Illegal datum värde "
Cancel = Sant
Else
DateAdded.BackColor = & H80000005
End If
End Sub "
23
Typ dessa kombinationsrutans lista detaljer i koden fönstret :
" Private Sub AddStates ( ) katalog
State.AddItem " AK "
stat . addItem " AL "
State.AddItem " AR "
State.AddItem " AZ "
End Sub "
24
Type dessa Visar kommandona användarformulär i VBA -kod fönstret :
" Public Sub ShowForm ( ) katalog
UserForm1.Show vbModal
End Sub "
25
Granska och text dina formulärdata instruktioner och kodning genom att välja " Kör " från " Huvud Visual Basic for Applications -menyn . " Addera