Excel VBA-gebruikersformulier met meerdere pagina's - Eenvoudige Excel-macro's

Inhoudsopgave

Hieronder zullen we kijken naar een programma in Excel VBA dat een gebruikersformulier maakt dat meerdere pagina's bevat. Dit gebruikersformulier bevat ook afbeeldingen.

De Multipage Control bevat twee pagina's. Op pagina 1 kan de gebruiker zijn/haar persoonlijke gegevens invullen. Op pagina 2 kan de gebruiker aangeven welk schilderij hij/zij het mooist vindt.

Voer de volgende stappen uit om dit Userform aan te maken.

1. Open de Visual Basic-editor. Als de Projectverkenner niet zichtbaar is, klikt u op Beeld, Projectverkenner.

2. Klik op Invoegen, Gebruikersformulier. Als de Toolbox niet automatisch verschijnt, klikt u op View, Toolbox. Uw scherm moet worden ingesteld zoals hieronder.

3. Voeg het besturingselement Meerdere pagina's, labels, tekstvakken (eerst bovenaan, de tweede onder de eerste), frame, optieknoppen (eerst links, de tweede rechts), keuzelijst, Afbeeldingsbediening en opdrachtknop toe. Zodra dit is voltooid, moet het resultaat consistent zijn met de lege versie van het eerder getoonde gebruikersformulier. Maak bijvoorbeeld een besturingselement Meerdere pagina's door op Meerdere pagina's in de Toolbox te klikken. Vervolgens kunt u een besturingselement met meerdere pagina's op het gebruikersformulier slepen. Wanneer u bij het frame Geslacht aankomt, vergeet dan niet eerst dit frame te tekenen voordat u de twee keuzerondjes erin plaatst.

4. U kunt de namen en de bijschriften van de bedieningselementen wijzigen. Namen worden gebruikt in de Excel VBA-code. Bijschriften zijn de bijschriften die op uw scherm verschijnen. Het is een goede gewoonte om de namen van de besturingselementen te wijzigen, maar dat is hier niet nodig omdat we in dit voorbeeld maar een paar besturingselementen hebben. Om het bijschrift van het gebruikersformulier, tabbladen met meerdere pagina's, labels, kader, keuzerondjes en opdrachtknop te wijzigen, klikt u op Beeld, Venster Eigenschappen en klikt u op elk besturingselement.

5. Om het gebruikersformulier weer te geven, plaatst u een opdrachtknop op uw werkblad en voegt u de volgende coderegel toe:

Privé Sub CommandButton1_Click()
UserForm1.Toon
Einde sub

We gaan nu de Sub UserForm_Initialize maken. Wanneer je de Show methode voor het Userform gebruikt, wordt deze sub automatisch uitgevoerd.

6. Open de Visual Basic-editor.

7. Klik in de Projectverkenner met de rechtermuisknop op UserForm1 en klik vervolgens op View Code.

8. Kies Gebruikersformulier in de linker vervolgkeuzelijst. Kies Initialiseren in de rechter vervolgkeuzelijst.

9. Voeg de volgende coderegels toe:

Private Sub UserForm_Initialize()
Met ListBox1
.Voeg item "Bergen" toe
.Voeg item "Zonsondergang" toe
.Item "Strand" toevoegen
.Voeg item "Winter" toe
Eindigt met
Einde sub

Toelichting: de keuzelijst op pagina 2 wordt gevuld.

We hebben nu het eerste deel van het Userform gemaakt. Hoewel het er al netjes uitziet, gebeurt er nog niets als we een item uit de keuzelijst selecteren of als we op de OK-knop klikken.

10. Download de afbeeldingen (rechterkant van deze pagina) en voeg ze toe aan "C:\test\"

11. Dubbelklik in de Projectverkenner op UserForm1.

12. Dubbelklik op de keuzelijst.

13. Voeg de volgende coderegels toe:

Privé Sub ListBox1_Click()
Als ListBox1.ListIndex = 0 Dan
Image1.Picture = LoadPicture("C:\test\Mountains.jpg")
Stop als
Als ListBox1.ListIndex = 1 Dan
Image1.Picture = LoadPicture("C:\test\Sunset.jpg")
Stop als
Als ListBox1.ListIndex = 2 Dan
Image1.Picture = LoadPicture("C:\test\Beach.jpg")
Stop als
Als ListBox1.ListIndex = 3 Dan
Image1.Picture = LoadPicture("C:\test\Winter.jpg")
Stop als
Einde sub

Uitleg: deze coderegels laden een afbeelding afhankelijk van het geselecteerde item in de keuzelijst.

14. Dubbelklik op de knop OK.

15. Voeg de volgende coderegels toe:

Privé Sub CommandButton1_Click()
Dim leegRij zo lang
'Blad1 actief maken'
Blad1.Activeren
'Bepaal lege rij'
legerij = WerkbladFunctie.AantalA(Bereik("A:A")) + 1
'Informatie overdragen'
Cellen (lege rij, 1). Waarde = Tekstvak1. Waarde
Cellen (lege rij, 2). Waarde = Tekstvak2. Waarde
Als OptionButton1.Value = True Dan
Cellen (lege rij, 3). Waarde = "Man"
Anders
Cellen (lege rij, 3). Waarde = "Vrouwelijk"
Stop als
Cellen (lege rij, 4). Waarde = ListBox1.Value
'Gebruikersformulier sluiten'
Mij ​​uitladen
Einde sub

Uitleg: eerst activeren we Blad1. Vervolgens bepalen we emptyRow. De variabele emptyRow is de eerste lege rij en wordt elke keer dat een record wordt toegevoegd groter. Vervolgens brengen we de informatie van het gebruikersformulier over naar de specifieke kolommen van emptyRow. Ten slotte sluiten we het gebruikersformulier.

16. Sluit de Visual Basic Editor af, voer de onderstaande labels in rij 1 in en test het gebruikersformulier.

Resultaat:

U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

wave wave wave wave wave