Excel VBA -brukerform med flere sider - Enkle Excel -makroer

Innholdsfortegnelse

Nedenfor ser vi på et program i Excel VBA som lager et brukerform som inneholder flere sider. Denne brukerformen inneholder også bilder.

Multipage Control inneholder to sider. På side 1 kan brukeren fylle ut sin personlige informasjon. På side 2 kan brukeren angi hvilket maleri han/hun liker best.

For å opprette dette brukerskjemaet, utfør følgende trinn.

1. Åpne Visual Basic Editor. Hvis Project Explorer ikke er synlig, klikker du View, Project Explorer.

2. Klikk Sett inn, Brukerform. Hvis verktøykassen ikke vises automatisk, klikker du på Vis, Verktøykasse. Skjermen din skal konfigureres som nedenfor.

3. Legg til flersidekontrollen, etiketter, tekstbokser (først øverst, den andre under den første), ramme, alternativknapper (først til venstre, den andre til høyre), listeboks, Bildekontroll og kommandoknapp. Når dette er fullført, bør resultatet være i samsvar med den tomme versjonen av brukerskjemaet som ble vist tidligere. Lag for eksempel en flersidekontroll ved å klikke på Flerside fra verktøykassen. Deretter kan du dra en flersidekontroll på brukerskjemaet. Når du kommer til kjønnrammen, må du huske å tegne denne rammen før du plasserer de to alternativknappene i den.

4. Du kan endre navnene og bildeteksten på kontrollene. Navn brukes i Excel VBA -koden. Bildetekster er de som vises på skjermen. Det er god praksis å endre navnene på kontrollene, men det er ikke nødvendig her fordi vi bare har noen få kontroller i dette eksemplet. Hvis du vil endre bildeteksten til brukerskjemaet, flersidige faner, etiketter, ramme, alternativknapper og kommandoknapp, klikker du på Vis, Egenskapsvindu og klikker på hver kontroll.

5. For å vise brukerskjemaet, plasser en kommandoknapp i regnearket og legg til følgende kodelinje:

Private Sub CommandButton1_Click ()
UserForm1.Show
Slutt Sub

Vi skal nå lage Sub UserForm_Initialize. Når du bruker Vis -metoden for brukerskjemaet, blir denne suben automatisk utført.

6. Åpne Visual Basic Editor.

7. I Project Explorer, høyreklikk på UserForm1 og klikk deretter Vis kode.

8. Velg Userform fra rullegardinlisten til venstre. Velg Initialiser fra rullegardinlisten til høyre.

9. Legg til følgende kodelinjer:

Private Sub UserForm_Initialize ()
Med ListBox1
.AddItem "Fjell"
.AddItem "Sunset"
.AddItem "Strand"
.AddItem "Winter"
Slutt med
Slutt Sub

Forklaring: listeboksen på side 2 fylles ut.

Vi har nå laget den første delen av Userform. Selv om det ser pent ut allerede, vil ingenting skje ennå når vi velger et element fra listeboksen eller når vi klikker på OK -knappen.

10. Last ned bildene (høyre side av denne siden) og legg dem til "C: \ test \"

11. Dobbeltklikk på UserForm1 i Project Explorer.

12. Dobbeltklikk på listeboksen.

13. Legg til følgende kodelinjer:

Private Sub ListBox1_Click ()
Hvis ListBox1.ListIndex = 0 Da
Image1.Picture = LoadPicture ("C: \ test \ Mountains.jpg")
Slutt om
Hvis ListBox1.ListIndex = 1 Da
Image1.Picture = LoadPicture ("C: \ test \ Sunset.jpg")
Slutt om
Hvis ListBox1.ListIndex = 2 Da
Image1.Picture = LoadPicture ("C: \ test \ Beach.jpg")
Slutt om
Hvis ListBox1.ListIndex = 3 Da
Image1.Picture = LoadPicture ("C: \ test \ Winter.jpg")
Slutt om
Slutt Sub

Forklaring: Disse kodelinjene laster inn et bilde avhengig av det valgte elementet i listeboksen.

14. Dobbeltklikk på OK -knappen.

15. Legg til følgende kodelinjer:

Private Sub CommandButton1_Click ()
Dim emptyRow As Long
'Gjør Sheet1 aktivt
Ark 1.Aktiver
'Bestem tomRad
emptyRow = WorksheetFunction.CountA (Range ("A: A")) + 1
'Overfør informasjon
Celler (emptyRow, 1) .Value = TextBox1.Value
Celler (emptyRow, 2) .Value = TextBox2.Value
Hvis OptionButton1.Value = True Then
Celler (emptyRow, 3) .Value = "Mann"
Ellers
Cells (emptyRow, 3) .Value = "Female"
Slutt om
Celler (emptyRow, 4) .Value = ListBox1.Value
'Lukk brukerskjema
Last ut meg
Slutt Sub

Forklaring: først aktiverer vi Sheet1. Deretter bestemmer vi emptyRow. Variabelen emptyRow er den første tomme raden og øker hver gang en post legges til. Deretter overfører vi informasjonen fra brukerformen til de spesifikke kolonnene i emptyRow. Til slutt lukker vi brukerskjemaet.

16. Avslutt Visual Basic Editor, skriv inn etikettene som vises nedenfor i rad 1 og test brukerskjemaet.

Resultat:

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave