300 Exempel

Användarform med flera sidor

Userform With Multiple Pages

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.

Användarform Sida 1 Användarform Sida 2





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.

Userform Screen Setup i Excel VBA

3. Lägg till flersidekontrollen, etiketter, textrutor (först överst, den andra under den första), ram, alternativknappar (först till vänster, 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 bildtext på kontrollerna. Namn används i Excel VBA -koden. Bildtexter är de som visas på skärmen. Det är bra att byta namn 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.

hur man beräknar median på excel

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

Privat SubCommandButton1_Click ()

UserForm1.Show

Slutet 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. Högerklicka på UserForm1 i Project Explorer 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:

Privat SubUserForm_Initialize ()

MedListBox1
.AddItem 'Berg'
.AddItem 'Sunset'
.AddItem 'Beach'
.AddItem 'Winter'
Slutet Med

Slutet 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 dem till 'C: test '

11. I Project Explorer dubbelklickar du på UserForm1.

12. Dubbelklicka på listrutan.

13. Lägg till följande kodrader:

Privat SubListBox1_Click ()

OmListBox1.ListIndex = 0Sedan
Image1.Picture = LoadPicture ('C: test Mountains.jpg')
Slutet Om

OmListBox1.ListIndex = 1Sedan
Image1.Picture = LoadPicture ('C: test Sunset.jpg')
Slutet Om

OmListBox1.ListIndex = 2Sedan
Image1.Picture = LoadPicture ('C: test Beach.jpg')
Slutet Om

OmListBox1.ListIndex = 3Sedan
Image1.Picture = LoadPicture ('C: test Winter.jpg')
Slutet Om

Slutet Sub

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

14. Dubbelklicka på OK -knappen.

15. Lägg till följande kodrader:

Privat SubCommandButton1_Click ()

IngenemptyRowSom Lång

'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

OmOptionButton1.Value =Sann Sedan
Cells (emptyRow, 3) .Value = 'Man'
Annan
Cells (emptyRow, 3) .Value = 'Female'
Slutet Om

Celler (emptyRow, 4) .Value = ListBox1.Value

'Stäng användarform
Ladda ur mig

Slutet 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 som visas nedan i rad 1 och testa Userform.

Resultat:

Testa användarformen

10/11 klar! Läs mer om användarformulär>
Gå till nästa kapitel: Räckvidd



^