Hvordan lage bruker skjemaer med Excel 2003

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 = &amp;HFF&amp;

MsgBox "Ulovlig dato verdi"

Avbryt = True

Ellers

DateAdded.BackColor = &amp;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.