Excel VBA -brugerform med flere sider - nemme Excel -makroer

Indholdsfortegnelse

Nedenfor ser vi på et program i Excel VBA, der opretter en brugerform, der indeholder flere sider. Denne brugerform indeholder også billeder.

Multipage Control indeholder to sider. På side 1 kan brugeren udfylde sine personlige oplysninger. På side 2 kan brugeren angive, hvilket maleri han/hun bedst kan lide.

For at oprette denne brugerformular skal du udføre følgende trin.

1. Åbn Visual Basic Editor. Hvis Project Explorer ikke er synlig, skal du klikke på View, Project Explorer.

2. Klik på Indsæt, brugerform. Hvis Toolbox ikke vises automatisk, skal du klikke på View, Toolbox. Din skærm skal konfigureres som nedenfor.

3. Tilføj flersidekontrollen, etiketter, tekstbokse (først øverst, den anden under den første), ramme, valgknapper (først til venstre, den anden til højre), listeboks, billedkontrol og kommando -knap. Når dette er udført, skal resultatet være i overensstemmelse med den tomme version af brugerformularen, der blev vist tidligere. For eksempel kan du oprette en Multipage -kontrol ved at klikke på Multipage fra Toolbox. Dernæst kan du trække en flersidekontrol på brugerformularen. Når du ankommer til kønsrammen, skal du huske at tegne denne ramme først, før du placerer de to valgknapper i den.

4. Du kan ændre betegnelsernes navne og billedtekster. Navne bruges i Excel VBA -koden. Billedtekster er dem, der vises på din skærm. Det er god praksis at ændre navnene på kontrolelementerne, men det er ikke nødvendigt her, fordi vi kun har få kontrolelementer i dette eksempel. Hvis du vil ændre billedteksten for brugerformularen, faner på flere sider, etiketter, ramme, valgmulighedsknapper og kommandoknap, skal du klikke på Vis, vindue Egenskaber og klikke på hver kontrol.

5. For at vise brugerformularen skal du placere en kommandoknap på dit regneark og tilføje følgende kodelinje:

Privat underkommandoButton1_Click ()
UserForm1.Show
Afslut Sub

Vi skal nu oprette Sub UserForm_Initialize. Når du bruger metoden Vis til brugerformularen, udføres denne sub automatisk.

6. Åbn Visual Basic Editor.

7. I Project Explorer skal du højreklikke på UserForm1 og derefter klikke på Vis kode.

8. Vælg Brugerform på venstre rulleliste. Vælg Initialiser på rullelisten til højre.

9. Tilføj følgende kodelinjer:

Privat underbrugerForm_Initialize ()
Med ListBox1
.AddItem "Bjerge"
.AddItem "Sunset"
.AddItem "Strand"
.AddItem "Vinter"
Afslut med
Afslut Sub

Forklaring: listeboksen på side 2 vil blive udfyldt.

Vi har nu oprettet den første del af brugerformularen. Selvom det allerede ser pænt ud, vil der endnu ikke ske noget, når vi vælger et element fra listeboksen, eller når vi klikker på knappen OK.

10. Download billederne (højre side af denne side) og tilføj dem til "C: \ test \"

11. I Project Explorer skal du dobbeltklikke på UserForm1.

12. Dobbeltklik på listeboksen.

13. Tilføj følgende kodelinjer:

Privat underlisteBox1_Click ()
Hvis ListBox1.ListIndex = 0 Så
Image1.Picture = LoadPicture ("C: \ test \ Mountains.jpg")
Afslut Hvis
Hvis ListBox1.ListIndex = 1 Så
Image1.Picture = LoadPicture ("C: \ test \ Sunset.jpg")
Afslut Hvis
Hvis ListBox1.ListIndex = 2 Så
Image1.Picture = LoadPicture ("C: \ test \ Beach.jpg")
Afslut Hvis
Hvis ListBox1.ListIndex = 3 Så
Image1.Picture = LoadPicture ("C: \ test \ Winter.jpg")
Afslut Hvis
Afslut Sub

Forklaring: Disse kodelinjer indlæser et billede afhængigt af det valgte element i listeboksen.

14. Dobbeltklik på knappen OK.

15. Tilføj følgende kodelinjer:

Privat underkommandoButton1_Click ()
Dim tomRække så længe
'Gør Sheet1 aktivt
Ark 1.Aktiver
'Bestem tomRække
emptyRow = WorksheetFunction.CountA (Range ("A: A")) + 1
'Overfør oplysninger
Celler (emptyRow, 1) .Value = TextBox1.Value
Celler (emptyRow, 2) .Value = TextBox2.Value
Hvis OptionButton1.Value = True Then
Celler (emptyRow, 3) .Value = "Mand"
Andet
Celler (emptyRow, 3) .Value = "Kvinde"
Afslut Hvis
Celler (emptyRow, 4) .Value = ListBox1.Value
'Luk brugerform
Aflad mig
Afslut Sub

Forklaring: Først aktiverer vi Sheet1. Dernæst bestemmer vi emptyRow. Variablen emptyRow er den første tomme række og stiger hver gang der tilføjes en post. Dernæst overfører vi oplysningerne fra brugerformularen til de specifikke kolonner i emptyRow. Endelig lukker vi brugerformularen.

16. Afslut Visual Basic Editor, indtast etiketterne vist nedenfor i række 1, og test brugerformularen.

Resultat:

Du vil bidrage til udviklingen af ​​hjemmesiden, at dele siden med dine venner

wave wave wave wave wave