Excel VBA -användarform med flera sidor - enkla Excel -makron

Innehållsförteckning

Nedan kommer vi att titta på ett program i Excel VBA som skapar en användarform som innehåller flera sidor. Denna användarform innehåller också bilder.

Multipage Control innehåller två sidor. På sidan 1 kan användaren fylla i sin personliga information. På sidan 2 kan användaren ange vilken tavla han/hon gillar mest.

För att skapa denna användarform, utför följande steg.

1. Öppna Visual Basic Editor. Om Project Explorer inte syns, klicka på View, Project Explorer.

2. Klicka på Infoga, användarform. Om Verktygslådan inte visas automatiskt klickar du på Visa, Verktygslåda. Din skärm ska konfigureras enligt nedan.

3. Lägg till flersidekontrollen, etiketter, textrutor (först överst, den andra under den första), ram, alternativknappar (först till vänster, den andra till höger), listruta, bildkontroll och kommandoknapp. När detta har slutförts bör resultatet överensstämma med den tomma versionen av användarformuläret som visades tidigare. Skapa till exempel en flersidig kontroll genom att klicka på Flersida från verktygslådan. Därefter kan du dra en flersidig kontroll på användarformuläret. När du kommer till könsramen, kom ihåg att rita den här ramen först innan du placerar de två alternativknapparna i den.

4. Du kan ändra namn och bildtexter på kontrollerna. Namn används i Excel VBA -koden. Bildtexter är de som visas på skärmen. Det är bra att ändra namnen på kontrollerna, men det är inte nödvändigt här eftersom vi bara har några få kontroller i det här exemplet. För att ändra bildtexten för användarformuläret, flersidiga flikar, etiketter, ramar, alternativknappar och kommandoknapp, klicka på Visa, Egenskapsfönster och klicka på varje kontroll.

5. För att visa användarformuläret, placera en kommandoknapp på ditt kalkylblad och lägg till följande kodrad:

Privat underkommandoButton1_Click ()
UserForm1.Show
Avsluta Sub

Vi ska nu skapa Sub UserForm_Initialize. När du använder metoden Visa för användarformuläret körs denna sub automatiskt.

6. Öppna Visual Basic Editor.

7. I Project Explorer, högerklicka på UserForm1 och klicka sedan på Visa kod.

8. Välj Userform från den vänstra listrutan. Välj Initiera från den högra listrutan.

9. Lägg till följande kodrader:

Private Sub UserForm_Initialize ()
Med ListBox1
.AddItem "berg"
.AddItem "Sunset"
.AddItem "Beach"
.AddItem "Winter"
Sluta med
Avsluta Sub

Förklaring: listrutan på sidan 2 fylls i.

Vi har nu skapat den första delen av Userform. Även om det ser snyggt ut, kommer inget att hända ännu när vi väljer ett objekt från listrutan eller när vi klickar på OK -knappen.

10. Ladda ner bilderna (höger sida av denna sida) och lägg till dem i "C: \ test \"

11. Dubbelklicka på UserForm1 i Project Explorer.

12. Dubbelklicka på listrutan.

13. Lägg till följande kodrader:

Private Sub ListBox1_Click ()
Om ListBox1.ListIndex = 0 Då
Image1.Picture = LoadPicture ("C: \ test \ Mountains.jpg")
Avsluta om
Om ListBox1.ListIndex = 1 Då
Image1.Picture = LoadPicture ("C: \ test \ Sunset.jpg")
Avsluta om
Om ListBox1.ListIndex = 2 Då
Image1.Picture = LoadPicture ("C: \ test \ Beach.jpg")
Avsluta om
Om ListBox1.ListIndex = 3 Då
Image1.Picture = LoadPicture ("C: \ test \ Winter.jpg")
Avsluta om
Avsluta Sub

Förklaring: dessa kodrader läser in en bild beroende på det valda objektet i listrutan.

14. Dubbelklicka på knappen OK.

15. Lägg till följande kodrader:

Privat underkommandoButton1_Click ()
Dim emptyRow As Long
'Gör Sheet1 aktivt
Blad 1.Aktivera
'Bestäm tomRad
emptyRow = WorksheetFunction.CountA (Range ("A: A")) + 1
'Överför information
Cells (emptyRow, 1) .Value = TextBox1.Value
Cells (emptyRow, 2) .Value = TextBox2.Value
Om OptionButton1.Value = True då
Cells (emptyRow, 3) .Value = "Man"
Annan
Cells (emptyRow, 3) .Value = "Female"
Avsluta om
Celler (emptyRow, 4) .Value = ListBox1.Value
'Stäng användarform
Ladda ur mig
Avsluta Sub

Förklaring: först aktiverar vi Sheet1. Därefter bestämmer vi emptyRow. Variabeln emptyRow är den första tomma raden och ökar varje gång en post läggs till. Därefter överför vi informationen från användarformen till de specifika kolumnerna i emptyRow. Slutligen stänger vi användarformuläret.

16. Avsluta Visual Basic Editor, ange etiketterna nedan i rad 1 och testa Userform.

Resultat:

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave