I VBA kan du oprette en CheckBox hvor en bruger kan markere eller fjerne markeringen af indstillingen. Et afkrydsningsfelt bruges ofte i brugerformularer, men kan også bruges i et regneark. I denne vejledning lærer du, hvordan du opretter en afkrydsningsfelt, får et brugervalg i VBA og bruger det i kode.
Hvis du vil lære at oprette en Listbox, skal du klikke her: VBA Listbox
Hvis du vil lære at oprette en Combobox, skal du klikke her: VBA Combobox
Opret en afkrydsningsfelt
For at indsætte et afkrydsningsfelt i regnearket skal du gå til Fanen Udvikler, klik Indsæt og vælg under ActiveX Controls Afkrydsningsfelt:
Billede 1. Indsæt en afkrydsningsfelt i regnearket
Når du markerer afkrydsningsfeltet, som du har indsat, kan du klikke på Ejendomme under Fanen Udvikler:
Billede 2. Skift afkrydsningsfeltets egenskaber
Her kan du indstille forskellige egenskaber for afkrydsningsfeltet. I begyndelsen ændrede vi attributten Navn til cmb Afkrydsningsfelt. Nu kan vi bruge afkrydsningsfeltet med dette navn i VBA -kode.
Vi ændrede også teksten, der vises ved siden af afkrydsningsfeltet til Enig med vilkår. For at gøre dette skal du angive attributten Billedtekst.
Få et valgt element i en afkrydsningsfelt i VBA
Formålet med en afkrydsningsfelt er at få brugernes valg (afkrydsningsfeltet markeret eller ej). For at hente en værdi, der er valgt af brugeren, skal du bruge denne kode:
123456789 | Hvis Sheet1.chbCheckBox.Value = True derefterSheet1.Range ("C3") = "Enig"AndetSheet1.Range ("C3") = "Er ikke enig"Afslut Hvis |
Vi vil udfylde cellen C3 med Enig hvis afkrydsningsfeltet er markeret og Ikke enig Ellers. Afkrydsningsfeltets værdi er iVærdi objektets attribut Ark1.chbCheckbox. Afkrydsningsfeltets værdi kan være sand eller falsk.
Billede 3. Få en valgt værdi fra afkrydsningsfeltet i VBA
Da vi markerede afkrydsningsfeltet, værdien af Sheet1.chbCheckbox.Value er sandt, så resultatet i C3 er Enig.
Brug et afkrydsningsfelt i en brugerform
Som vi nævnte, bruges afkrydsningsfelt oftest i brugerformularer. 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 8. 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å Afkrydsningsfelt for at oprette det i brugerformularen:
Billede 9. Indsæt en afkrydsningsfelt i brugerformularen
I vinduet egenskaber ændrer vi navnet på afkrydsningsfeltet til chbCheckBox og billedtekst til Enig med vilkår. Når vi kører brugerformularen, får vi afkrydsningsfeltet i det.
Billede 10. Afkrydsningsfeltet i brugerformularen
Hvis du vil have valgt værdi fra afkrydsningsfeltet, skal du bruge den samme logik for afkrydsningsfeltet i et regneark, som er forklaret tidligere i artiklen.