Excel VBA

Det har været godt at selv kunne bestemme farten, samt bruge al den tid man nu selv synes for at lave opgaverne.

Det har været et hårdt kursus, men jeg har virkelig lært meget og er mere rustet til at lave nye makroer, hvor jeg så selv kan gå i i VBA og lave rettelser, fordi jeg kan forstå programmet.

Margit Gravgaard Larsen, Novo Nordisk A/S

Excel VBA

Meget hurtigt og kompetent feedback...

Sparring på den opgave, som jeg sidder og arbejder med.

Veltilrettelagte øvelser

Claus Witfelt, Flyvevåbnets Officersskole

Excel VBA

Tak for et rigtigt godt og lærerigt kursus.

En af de store fordele ved kurset er, at man kan tage det i det tempo man ønsker og der er ikke noget tidspres.

Opgaverne er gode og udfordrene. Man kan selv, indenfor rammerne, bestemme hvor meget man vil gøre ud af det.

Beskrivelserne til opgaverne er lavet på en sådan måde, at der er også overladt lidt til ens egen fantasi, som jeg synes er en meget god ting.

Kurset har et rigtigt godt niveau, og materialet er godt lavet.

Underviseren ??? Ja, jeg ved ikke hvornår han sover.

Der går ikke lang tid efter man har sendt en opgave, til den er rettet, og altid med en god og konstruktiv kommentar. Også man får underviserens løsningsforslag.

Der er altid hurtig og god hjælp at hente, hvis man er gået i stå. Man får ikke bare løsningen, men et hint, så man kan komme videre.

Jeg vil varmt anbefale det til andre, og gør det !

Endnu engang tak for et godt kursus.

Med venlig hilsen

Peter Juul Jacobsen

Peter Juul Jacobsen, Mærsk Olie & Gas A/S

Excel VBA

Øvelserne kan tages i det tempo, der passer en, hvilket gør det muligt at gå i dybden med udvalgt teori og øvelser og inddrage arbejdsrelaterede udfordringer/problemstillinger direkte i kurset.

Der er hurtig respons fra underviser, man bliver udfordret på opgaverne og får ikke lov til og gå videre før en opgave er løst tilfredsstillende.

Kan anbefale kurset til andre.

Brian Lind Olsen, OUH Odense Universitetshospital

Excel VBA

Det har været meget nærværende og personlig fjernundervisning med hurtige svar på spørgsmål og feedback på opgaver. Der har været stor engagement og ejerskab fra underviserens side.

Det faglige niveau har været vekslende mellem "begynder" og "ekspert" opgaver.

Brian Deleuran, Radiometer

< >
Se flere referencer

VBA kode omkring userforms

Det sidste vi mangler at lave omkring userforms er at kode hændelsesprocedurer, så der også kommer til at ske noger når brugeren trykker på knappen.

Hændelsesprocedure til knap

Hvis man dobbeltklikker på en knap i en userform bliver der oprettet en hændelsesprocedure til knappen. Det ser sådan her ud (når knappen hedder opret):

Excel VBA kursus - userform hændelsesprocedure - fjernundervisning

I hændelsesproceduren kan du skrive al den VBA kode du har lært. De kontrolelementer der er på userformen er objekter, der kan adresseres med deres navn. Findes der en tekstbox på userformen, der hedder txtNavn kan indholdet trækkes ud og afleveres i regnearket med koden:

Range("A1").Value = txtNavn.Value

Og på samme måde kan man også hente værdier ud af de øvrige kontrolelementer. Dog er det lidt specielt, hvis man skal hente værdier ud af en listbox, hvor multiselect egenskaben er sat true - så kan brugeren jo vælge flere elementer i listen. Her følger lidt kode, der kan bruges som inspiration for det tilfælde:

For i = 0 To ListBox1.ListCount - 1
  If ListBox1.Selected(i) = True Then
    MsgBox ListBox1.List(i, 0)
  End If
Next

Hændelsesprocedurer på userformen selv

I toppen af arbejdsvinduet er der to dropdown bokse. Vælger man UserForm i den første kan man vælge forskellige hændelsesprocedurer i den anden.

Excel VBA kursus - userform eventhandler - fjernundervisning

Initilize hændelsesprocedurern kan bruges til at få kode afviklet når UserFormen bliver vist første gang - det kunne f.eks. være at fylde indhold på en dropdownkontrol. Det kunne se sådan her ud (forudsat dropdownkontrollen hedder cboGruppe)

Private Sub UserForm_Initialize()
  cboGruppe.AddItem "Vælg gruppe"
  cboGruppe.AddItem "PC"
  cboGruppe.AddItem "Skærm"
  cboGruppe.ListIndex = 0
End Sub

Hændelsesprocedurer på de øvrige kontrolelementer (datavalidering)

De enkelte kontrolelementer har også hændelsesprocedurer, der f.eks. kan bruges til at validere de data brugeren indtaster/vælger. Vælg kontrollen i venstre dropdownkontrol og Exit i den højre - så får du den viste hændelsesprocedure:

Excel VBA kursus - userform validering - fjernundervisning

Bemærk, at der overføres en parameter Cancel, der kan bruges til at styre om brugeren må komme videre. Det kan bruges til validering - det kunne se sådan her ud:

Private Sub txtAntal_Exit(ByVal Cancel As MSForms.ReturnBoolean)
  If Not IsNumeric(txtAntal.Value) Then
    MsgBox "Her skal du skrive et tal" 
    Cancel = True 
  End If
End Sub

Luk userform

Når du gerne vil lukke userformen efter brugeren har indtastet de ønskede informationer og du har placeret dem i regnearket skriver du

Unload Me

 

Når du har betalt for kurset får du adgang til øvelser til hver lektion. Og når du har fået godkendt din besvarelse får du desuden adgang til mine løsningsforslag med ekstra tips og trix.