Hvordan lage bruker skjemaer med Excel 2003
Opprette brukerskjemaer i Excel 2003 gjør dataregistrering til en lek. Skjemaer som benyttes for å samle inn og kontrollere opplysninger fra en bruker beskytte regnearket fra unødvendige endringer og slettinger som brukere kan gjøre hvis gitt tilgang til de faktiske dataene listen på tilsvarende regnearket. Hver form du oppretter vil be og samle forskjellig informasjon, men når du lære Visual Basic for Applications (VBA) kode for en du kan bygge og tilpasse noen form i Excel 2003.
Bruksanvisning
1 I "Verktøy" -menyen, velg "Macro" og deretter "Visual Basic Editor" eller trykk "ALT" + "F11" for å åpne Visual Basic Editor. Åpne "Main" menyen, velg "Sett inn" og klikk "User Form" for å opprette en ny Userform objekt.
2 Plasser en TextBox kontroll og en etikett kontroll for hver kolonne i regnearket på skjemaet ved å dobbeltklikke på kontrollen eller ved å dra dem fra verktøykassen på skjemaet. Erstatte eventuelle TextBox og Label kombinasjon med en ComboBox kontroll hvis du ønsker å presentere brukeren med en liste over alternativer å velge mellom for feltet i stedet for en tekstboks.
3 Tildele de riktige feltnavn egenskapene til teksten og kombinasjonsbokser ved å skrive tilsvarende databasefeltnavn i navne Eiendom linjen i det tilsvarende eiendom vinduet. Endre Caption Egenskaper til en brukervennlig visningsnavn på samme tid.
4 Dobbeltklikk på "Command" styringsverktøy fire ganger for å legge til det første, forrige, neste og siste knappene i skjemaet. Skriv navnene deres inn Bildetekst Eiendom linjen i de tilhørende eiendom vinduene.
5 Dra en TextBox kontroll på formen i mellom Forrige og Neste kontroller. Skriv "ROWNUMBER" i sitt navn Bolig linje. Type "2" på Tekst Bolig linje.
6 Klikk eller dra ytterligere tre Command kontrollene på skjemaet. Type "Lagre", "Avbryt" og "Legg til" på deres tilsvarende navn Eiendoms linjer. Sett Enabled eiendom til False på Lagre og Avbryt kommando knappene når du skriver inn navnet på Egenskaper.
7 Ordne kontroller og etiketter, deretter justere størrelsen på brukeren skjema med klikk og dra metoden før du er sikker på at formen er enkel å bruke og behagelig for en bruker.
8 Legg noen flere tekstbokser og sette deres egenskaper som trengs for ytterligere funksjonalitet og appell. En form tittelen er anbefalt.
9 Skriv dette GetData rutine inn koden vinduet VBA erstatte kolonnenavn (feltnavn egenskaper) og datatyper med prøven CustomerId, Customer, by, stat, postnummer og DateAdded kolonnenavn:
"Private Sub GetData ()
Dim r As Long
Hvis IsNumeric (RowNumber.Text) Deretter
r = CLng(RowNumber.Text)
Ellers
ClearData
MsgBox "Ulovlig radnummer"
Exit Sub
Slutt om
Hvis r> 1 og r <= LastRow Deretter
CustomerId.Text = FormatNumber(Cells(r, 1), 0)
CustomerName.Text = Cells (r, 2)
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 Deretter
ClearData
Ellers
ClearData
MsgBox "Ugyldig radnummer"
Slutt om
End Sub "
10 Skriv dette ClearData rutine inn koden vinduet VBA. Bytt kolonnenavn (feltnavn egenskaper) med prøven CustomerId, Customer, by, stat, postnummer og DateAdded kolonnenavn:
"Private Sub ClearData ()
CustomerId.Text = ""
CustomerName.Text = ""
City.Text = ""
State.Text = "AK"
Zip.Text = ""
DateAdded.Text = ""
End Sub "
11 Skriv dette konstant LastRow kommando i koden vinduet VBA:
"Const LastRow = 20"
12 Skriv dette DisableSave rutine inn koden vinduet VBA:
"Private Sub DisableSave ()
CommandButton5.Enabled = False
CommandButton6.Enabled = False
End Sub "
1. 3 Skriv inn denne rutinen heter RowNumber_Change inn koden vinduet VBA:
"Private Sub RowNumber_Change ()
GetData
End Sub "
14 Sett den aktuelle hendelsen kommandoen ved å skrive dette inn i koden vinduet VBA:
"RowNumber.Text =" 2 ""
15 Sett knappene Forrige og Neste koder ved å skrive dette inn i koden vinduet VBA:
"Private Sub CommandButton2_Click ()
Dim r As Long
Hvis IsNumeric (RowNumber.Text) Deretter
r = CLng(RowNumber.Text)
r = r? 1
Hvis r> 1 og r & lt; = LastRow Deretter
RowNumber.Text = FormatNumber (r, 0)
Slutt om
Slutt om
End Sub "
16 Skriv dette LastRow konstant variabel kode i kodevinduet VBA:
"Private Sub UserForm_Initialize ()
GetData
End Sub "
17 Skriv dette FindLastRow () rutine inn koden vinduet VBA:
"Private Function FindLastRow ()
Dim r As Long
r = 2
Gjør Mens r <65536 og Len (Cells (r, 1) .text)> 0
r = r + 1
Loop
FindLastRow = r
End Function "
18 Skriv inn disse UserForm_Initialize hendelsene inn koden vinduet VBA:
"LastRow = FindLastRow
Private Sub CommandButton4_Click ()
LastRow = FindLastRow - 1
RowNumber.Text = FormatNumber (LastRow, 0)
End Sub "
19 Skriv inn PutData rutine i koden vinduet endre prøvekolonnenavn og steder som passer til regnearket:
"Private Sub PutData ()
Dim r As Long
Hvis IsNumeric (RowNumber.Text) Deretter
r = CLng(RowNumber.Text)
Ellers
MsgBox "Illegal row number"
Exit Sub
Slutt om
Hvis r> 1 og r <LastRow Deretter
Cells(r, 1) = CustomerId.Text
Celler (r, 2) = CustomerName.Text
Celler (r, 3) = City.Text
Celler (R, 4) = State.Text
Celler (r, 5) = Zip.Text
Celler (r, 6) = DateAdded.Text
DisableSave
Ellers
MsgBox "Invalid row number"
Slutt om
End Sub "
20 Skriv dette Legge data rutine inn i koden vinduet:
"Private Sub CommandButton7_Click ()
RowNumber.Text = FormatNumber (LastRow, 0)
End Sub "
21 Skriv dette validering av data rutine inn i koden vinduet:
"Private Sub CustomerId_KeyPress (ByVal KeyAscii As MSForms.ReturnInteger)
Hvis KeyAscii <Asc ( "0") Eller KeyAscii> Asc ( "9") Deretter
KeyAscii = 0
Slutt om
End Sub "
22 Skriv dette Exit hendelsen kode i kodevinduet VBA:
"Private Sub DateAdded_Exit (ByVal Avbryt As MSForms.ReturnBoolean)
Hvis ikke IsDate (DateAdded.Text) Deretter
DateAdded.BackColor = &HFF&
MsgBox "Ulovlig dato verdi"
Avbryt = True
Ellers
DateAdded.BackColor = &H80000005
Slutt om
End Sub "
23 Skriv inn disse kombinasjonsboks liste detaljer i koden vinduet:
"Private Sub AddStates ()
State.AddItem "AK"
State.AddItem "AL"
State.AddItem "AR"
State.AddItem "AZ"
End Sub "
24 Skriv inn disse Vise User Form kommandoer inn koden vinduet VBA:
"Public Sub ShowForm ()
UserForm1.Show vbModal
End Sub "
25 Gjennomgå og tekst skjema instruksjoner og koding ved å velge "Kjør" fra "Main Visual Basic for Applications-menyen."
Hint
- Ikke ta med start- og sluttanførselstegn på koden strenger. De er tatt med for å merke seg hva som må skrives.
- VBA koding er satt for et skjema med eksempeldata. Du må justere feltnavn og datatyper deretter.