Forms
Beskrivelse
Userforms
Userforms er et værktøj til at oprette mere avancerede brugerdialoger. En userform kunne f.eks. se sådan her ud:

Og bruges ofte til at give brugeren mulighed for at indtaste startværdier til en model. Der ligger en smule VBA kode bag sådan en userform, der sørger for at informationerne i userformen lander det rigtige sted i regnearket/modellen.
Opret en userform
For at oprette en userform skal du skifte til VBA editoren, højreklikke på VBAProject og vælge Insert | Userform. Så kommer det til at se sådan her ud i højre side af editoren

Toolboxen indeholder forskellige elementer, der kan sættes på formen - elementerne kaldes også kontrolelementer.
Læg osgå mærke til properties vinduet nu har fået mere indhold:

Det er vigtigt, at du med det samme sørger for at din userform får et navn, som skrives i (Name) boksen. Ud over det kan du her styre farver, fonte mm. omkring userformen
Vis og skjul userformen
En userform er et objekt!
Og det objekt har mange metoder og egenskaber - en del af egenskaberne kan du se i Properties vinduet - og to af metoderne bruges til at vise og skjule formen:
UserForm1.Show og UserForm1.Hide (erstat UserForm1 med det navn du har tildelt din userform) Vil du helt af med userformen - så den er blank næste gang du kalder .Show metoden kan du skrive i stedet for .Hide
Unload Me Husk, at der findes hændelses proceduerer til regnearket, der kan bruges, hvis man vil have ting til at ske når regnearket åbnes.
Øvelse
Inden vi går i gang med at sætte kontrolelementer på userformen skal vi lige prøve at oprette en userform
- Opret et regneark, der hedder "Userform øvelse.xls"
- Opret en tom userform (husk at navngive den)
- Sørg for at userformen kommer frem når regnearket åbnes
- Lav en knap i regnearket der kan få userformen til at komme frem
Send regnearket til mig.
Løsning
Se mit løsningsforslag her.
Jeg startede (efter at have oprettet et nyt regneark og trykket Alt+F11) med at højreklikke på VBA Projekt og vælge Insert userform. Når userforen dukker op kan man i egenskabsvinduet nederst til venstre give userformen navn og overskrift (og en masse andre sjove ting...)

Dernæst dobbeltklikkede jeg på ThisWorkbook og indsatte denne snut kode, der sørger for at userformen bliver vist når regnearket åbner (husk at man får fat i hændelsesproceduren gennem de to dropdown boxe i toppen af skærmen).
Private Sub Workbook_Open() ThorsUserform.Show End Sub Og til sidst højreklikkede jeg igen på VBA Projekt og valgte Insert module. I modulet indsatte jeg denne snut kode
Sub VisUserform() ThorsUserform.Show End Sub Og til sidst indsatte jeg en knap i regnearket.
Brug for hjælp til VBA, VSTO eller SQL?
Scient Data tilbyder professionel IT-konsulentbistand
Kontakt Scient Data →