Makro #6, Excel makro kurs, Listbox

with Ingen kommentarer
Hyggelig om du deler:
Share on Facebook
Facebook
Tweet about this on Twitter
Twitter
Share on LinkedIn
Linkedin

Feilhåndtering i VBAHer kommer en ganske så detaljert gjennomgang av Listbox i Userforms. Listbox’er er brukervennlige ved at det er raskt og enkelt å velge verdier, spesielt når det er et begrenset sett med valg.

Målet med dette eksemplet er å gå gjennom de grunnleggende prinsippene når du bruker Listbox

Design og funksjonalitet

Når du lager et skjema, begynner du med å designe skjemaet, og så legger du kode på elementene etterpå

Makro06Listbox01Design av skjema er relativt enkelt, og så blir det mindre intuitivt når vi skal legge funksjonalitet i bildet, som hva vi ønsker skal skje når vi klikker på en Måned, et Navn, eller på OK-knappen.

For brukeren blir det en helt annen opplevelse å bruke Excelarket ditt når du benytter skjemaer, og du sikrer at dataene havner der de skal.

Å knytte verdier til feltbeskrivelsen i en Listbox

I Visual Studio har vi mulighet for å knytte en verdi til beskrivelsen i feltet, f.eks at vi kan la feltbeskrivelsen være Navn, og verdien (.Itemdata) være alder. Eller at Måned er Januar og verdien er 1. På denne måten kan vi enkelt hente verdien idet vi klikker på feltbeskrivelsen. I VBA har vi ikke denne løsningen, og vi må finne en annen løsning som du kan se i videoen. (I dette spesifikke eksemplet kunne vi strengt tatt klart oss uten, men du vil kunne av god nytte av  trikset i andre sammenhenger.)

Hva vi ser på i eksemplet

Listbox
  •  .Clear – Tømme listbox for verdier
  • .Additem – Fylle Listbox’en med feltbeskrivelser (Måned og Navn) og knytte verdier til disse
  • .List – Finne et element
  • .Listindex – 1) Lese hvilket element vi har klikket på i listen. 2) Finne et element i en annen listbox ut fra hvilket element vi har klikket på i en annen liste
Commandbutton
  • Legge funksjonalitet på en Knapp
Userform
  •  Userform1.Caption – Endre beskrivelse i et Userform
  • Textbox – Legge verdier i, og lese verdier fra en Textbox
Kommandoer
  • While .. Wend

Koden i eksemplet kan du med enkle grep tilpasse til dine egne behov.

Last ned regnearket her:  Makro06Listbox01.xlsm (137 downloads)