Oprette brugerdefinerede formularer i Excel 2003 gør indtastning af data til en leg. Formularer, der er brugt til at indsamle og kontrollere oplysninger fra en bruger beskytter regnearket fra unødvendige ændringer og sletninger , at brugerne kunne gøre , hvis den får adgang til de faktiske data listen på det pågældende regneark. Hver formular, du opretter, vil anmode om og indsamle forskellige oplysninger , men når du lære Visual Basic for Applications ( VBA ) kode for en du kan opbygge og tilpasse enhver form i Excel 2003 . Ting du skal
Microsoft Office Excel 2003
Vis Flere Instruktioner
1
menuen "Funktioner" , peg på "Macro " og derefter klikke på " Visual Basic Editor "eller tryk på" ALT "+" F11 "for at åbne Visual Basic Editor. Åbn " Main" menuen, vælg "Indsæt" og klik på " User Form" for at oprette et nyt UserForm objekt.
2
Placer en TextBox kontrol og en Label kontrol for hver kolonne i regnearket på dannes ved at dobbeltklikke på kontrollen eller ved at trække dem fra værktøjskassen til formularen . Udskift TextBox og Label kombination med en ComboBox kontrol, hvis du ønsker at præsentere brugeren med en liste af muligheder at vælge fra, for feltet snarere end en tekstboks.
3
Tildel den korrekte feltnavn ejendomme til teksten og kombinationsbokse ved at skrive de tilsvarende database feltnavnene i egenskaben Navn linje i dens tilsvarende ejendom vindue . Skift Caption Egenskaber for at et brugervenligt display navn på samme tid .
4
Dobbeltklik på " CommandButton " styringsværktøj fire gange for at tilføje det første, forrige , næste og sidste knapper til din formular . Skriv deres navne ind i Caption Property linie i deres tilsvarende ejendom vinduer .
5.
Træk en TextBox kontrol til formularen i mellem Forrige og Næste kontrol. Type " RowNumber " i sit navn Property linje. Type " 2 'på Text Property linje.
6
Klik eller træk yderligere tre CommandButton kontrolelementer til formularen . Type" Save "," Cancel "og" Tilføj " på deres tilsvarende navn Ejendom linjer. Sæt Enabled Property til falsk på Gem og Annuller kommandoknapper når du skriver navnet på Egenskaber.
7
Arranger dine kontroller og etiketter , og derefter justere størrelsen på brugerens formularen med klik og træk metode indtil du er sikker på, at formularen er nem at bruge og en fryd for en bruger.
8
Tilføj eventuelle yderligere tekstbokse og angive deres egenskaber efter behov for yderligere funktionalitet og appel. en form title box anbefales .
9
Type denne GetData rutine i VBA-koden vinduet erstatte dine kolonnenavne ( feltnavn egenskaber) og datatyper med prøven Kunde- , CustomerName , By, stat, Zip og DateAdded kolonnenavne : < br >
"Private Sub GetData ()
Dim r As Long
p Hvis IsNumeric ( RowNumber.Text ) Så
r = CLng ( RowNumber.Text ) < br >
Else
ClearData
MsgBox " Illegal rækkenummer "
Exit Sub
End If
p Hvis r > , 1 og R <= LastRow Så
CustomerId.Text = FormatNumber ( Cells ( r, 1 ) , 0 )
CustomerName.Text = Cells ( r, 2 ) Salg < p> City.Text = Cells ( r, 3 )
State.Text = Cells ( r, 4)
Zip.Text = Cells ( r, 5)
DateAdded.Text = FormatDateTime ( Cells ( r, 6) , vbShortDate )
DisableSave
EllersHvis r = 1 Så
ClearData
Else
ClearData
MsgBox "Ugyldigt rækkenummer "
End If
End Sub "
10
Type denne ClearData rutine i VBA . kodevinduet Udskift dine kolonnenavne ( feltnavn egenskaber) med prøven Kunde- , CustomerName , By, stat, Zip og DateAdded kolonnenavne : Hej
"Private Sub ClearData ()
CustomerId.Text = " "
CustomerName.Text = " "
City.Text = " "
State.Text = " AK "
Zip.Text = " "
DateAdded.Text = " "
End Sub "
11
Type denne konstante LastRow kommando i VBA-koden vinduet : Hej
" Const LastRow = 20"
12
Type denne DisableSave rutine i VBA-koden vinduet : Hej
"Private Sub DisableSave ()
CommandButton5.Enabled = False < br >
CommandButton6.Enabled = False
End Sub "
13
Type denne rutine opkaldt RowNumber_Change i VBA-koden vinduet : Hej
" Private Sub RowNumber_Change ()
GetData
End Sub "
14
Indstil det korrekte begivenhed kommandoen ved at skrive dette ind i VBA-koden vinduet : Hej
" RowNumber . Text = "2 " "
15
Indstil knapperne Forrige og Næste koder ved at skrive dette ind i VBA-koden vinduet : Hej
" Private Sub CommandButton2_Click ()
< p > Dim r As Long
p Hvis IsNumeric ( RowNumber.Text ) Så
r = CLng ( RowNumber.Text )
r = r? 1
Hvis r > 1 og r <= LastRow Så
RowNumber.Text = FormatNumber (r, 0)
End If
End Hvis
End Sub "
16
Type denne LastRow konstant variabel kode i VBA-koden vinduet : Hej
" Private Sub UserForm_Initialize ()
GetData
End Sub "
17
Type denne FindLastRow () rutine i VBA-koden vinduet : Hej
" Private Function FindLastRow ()
Dim r As Long
r = 2
Do While r < 65536 Og Len ( Cells (r, 1). Text) > 0
r = r + 1
Loop
FindLastRow = r
End Function "
18
skrive disse UserForm_Initialize begivenheder i VBA-koden vinduet : Hej < p> " LastRow = FindLastRow
Private Sub CommandButton4_Click ()
LastRow = FindLastRow - 1
RowNumber.Text = FormatNumber ( LastRow , 0)
End Sub "
19
Indtast PutData rutine i koden vinduet ændre prøven kolonnenavne og steder til at matche dit regneark : Hej
" Private Sub PutData ()
< p > Dim r As Long
p Hvis IsNumeric ( RowNumber.Text ) Så
r = CLng ( RowNumber.Text )
Else
MsgBox " Illegal rækken nummer "
Exit Sub
End If
p Hvis r > 1 og r < LastRow Så
Cells ( r, 1) = Kunde . tekst
Cells ( r, 2) = CustomerName.Text
Cells ( r, 3) = City.Text
Cells ( r, 4) = State.Text < br >
Cells ( r, 5) = Zip.Text
celler ( r, 6) = DateAdded.Text
DisableSave
Else
< p > MsgBox "Ugyldigt rækkenummer "
End If
End Sub "
20
Type dette Tilføjelse data rutine i koden vinduet : Hej
"Private Sub CommandButton7_Click ()
RowNumber.Text = FormatNumber ( LastRow , 0)
End Sub"
21
Type dette Godkender Data rutine i koden vinduet : Hej
"Private Sub CustomerId_KeyPress ( ByVal KeyAscii Som MSForms.ReturnInteger )
p Hvis KeyAscii < Asc ( " 0 ") Eller KeyAscii > Asc ( " 9 " ) Så
< p> KeyAscii = 0
End If
End Sub "
22
Type denne Exit begivenhed kode i VBA-koden vinduet : Hej
" private Sub DateAdded_Exit ( ByVal Cancel Som MSForms.ReturnBoolean )
p Hvis Ikke ISDATE ( DateAdded.Text ) Så
DateAdded.BackColor = & HFF &
MsgBox " Ulovlig dato værdi "
Cancel = Ægte
Else
DateAdded.BackColor = & H80000005
End If
End Sub" < br >
23
Type disse combo box liste detaljer i koden vinduet :
"Private sub AddStates ()
State.AddItem " AK "
stat . AddItem " AL "
State.AddItem " AR "
State.AddItem "AZ "
End Sub "
24
Type disse Visning formularen Bruger kommandoer i VBA-koden vinduet : Hej
"Public Sub ShowForm ()
UserForm1.Show vbModal
End Sub"
25 < p> Gennemgang og tekst din formular anvisninger og kodning ved at vælge " Kør" fra " Main Visual Basic for Applications -menuen. "