I VBA kan du oprette en Valgknap for at give en bruger mulighed for at vælge mellem flere muligheder. En Option -knap bruges ofte i brugerformularer, men kan også bruges i et regneark. I denne vejledning lærer du, hvordan du opretter en Option -knap, får et brugervalg i VBA og bruger det i kode.
Hvis du vil lære at oprette en afkrydsningsfelt, skal du klikke her: VBA -afkrydsningsfelt
Opret en optionsknap
For at indsætte en Option -knap i regnearket skal du gå til Fanen Udvikler, klik Indsæt og vælg under ActiveX Controls Valgknap:
Billede 1. Indsæt en Option -knap i regnearket
Når du vælger knappen Option, som du har indsat, kan du klikke på Ejendomme under Fanen Udvikler:
Billede 2. Skift Egenskaber for knappen Knap
Her kan du indstille forskellige egenskaber for knappen Option. I begyndelsen ændrede vi attributten Navn til optOptionButton1. Nu kan vi bruge knappen Option med dette navn i VBA -kode.
Vi ændrede også teksten, der vises ved siden af knappen Option til Han. For at gøre dette skal du angive attributten Billedtekst.
Da vi vil tillade en bruger at vælge køn, gentager vi hele processen for en anden Option -knap. Den anden har navn optOptionButton2, mens billedteksten er Kvinde. Du kan også oprette en ny Option -knap ved at kopiere den eksisterende og ændre egenskaber. Nu har vores regneark to valgknapper:
Billede 3. Indsæt den anden Option -knap
Få en valgt optionsknap i VBA
Formålet med en Option -knap er at få en brugerbeslutning. Vi viser i eksemplet, hvordan man skriver Han i cellen C3, hvis knappen Option 1 er valgt eller Kvinde hvis den anden vælges. Hver Option -knap har sin begivenhed, der udløses, når den vælges - Klik på.
Derfor skal vi for den første Option -knap sætte følgende kode i arrangementet Klik på af objektet optOptionButon1:
123456789 | Privat underoptOptionButton1_Click ()If Sheet1.optOptionButton1.Value = True ThenSheet1.Range ("C3") = "Mand"Afslut HvisAfslut Sub |
På samme måde vil vi sætte denne kode i arrangementet Klik på af objektet optOptionButton2:
123456789 | Private Sub optOptionButton2_Click ()Hvis Sheet1.optOptionButton2.Value = True derefterSheet1.Range ("C3") = "Kvinde"Afslut HvisAfslut Sub |
Værdien af knappen Option er iVærdi objektets attribut optOptionButton1 eller optOptionButton2. Værdien af knappen Option kan være sand, hvis den er valgt eller falsk, hvis den ikke er valgt.
Billede 3. Returner mand, hvis den første optionsknap er valgt
Som du kan se i billede 3, klikkede vi på den første optionsknap. Derfor er værdien af Ark1.optOptionButton1.Værdi er sandt, så resultatet i C3 er Han.
Billede 4. Returner kvinde, hvis den anden knap til valg er valgt
På samme måde som det foregående eksempel ændres værdien af C3 til Kvinde, da vi har valgt den anden Option -knap. I dette tilfælde proceduren optOptionButton2_Click () udløses.
Brug en Option -knap i en brugerform
Som vi nævnte, bruges knappen Option oftest i brugerformer. For at forklare, hvordan du kan gøre det, indsætter vi først en brugerformular. I VBA-editor, højreklik på modulnavn, klik på Indsæt og vælg UserForm:
Billede 5. Indsæt en brugerformular
For at få vist kontrolelementer til indsættelse skal du aktivere Værktøjskasse. For at gøre dette skal du klikke påVærktøjskasse ikon på værktøjslinjen. Derefter får du vinduerne med alle tilgængelige kontrolelementer. Du kan klikke påValgknap for at oprette det i brugerformularen:
Billede 6. Indsæt en Option -knap i brugerformularen
I egenskabsvinduet ændrer vi navnet på knappen Option til optOptionButton1 og billedtekst til Han. På samme måde oprettede vi en anden Option -knap til Kvinde. Når vi kører brugerformularen, får vi to valgknapper:
Billede 7. To valgknapper i Userform
Hvis du vil have en valgt Option -knap, skal du bruge den samme logik som for et regneark, som er forklaret tidligere i artiklen.