Excel VBA

Det har bestemt været pengene værd. Jeg kender flere, som har taget VBA kursus on-site i et par dage eller deromkring , og de har slet ikke fået det samme ud af det som jeg har via denne side. Jeg har allerede udviklet små og større modeller til min arbejdsplads, og modellerne bruges allerede internationalt, det havde jeg ikke kunnet uden dette kursus.

Det er kanon, at man får personlig feedback og det går som regel tilmed hurtigt. Dygtig læremester, som sætter sig ind i mine specifikke problemstillinger - det er et stort plus. Den personlige kontakt er max vigtig.

Jeg vil anbefale dette til andre, der spørger til dette.

Michael Mortensen, DLH

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

Det har været et supergodt kursus, hvor man ikke bare fik resultaterne leveret, der skulle tænkes meget !

Materialet har været rigtig godt, og det er da utroligt så tit der har været hjælp at hente, har set at underviseren var online, også om aftenen og tidlig morgen, rigtig rart, og der kom lynhurtigt respons tilbage på div. spørgsmål og besvarelser.

Helt sikkertet kursus og kursusform, jeg vil anbefale til andre.

Margit Solveig Kristoffersen, Socialpædagogerne Sydjylland

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

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

Simpel brugerdialog

Der er to interessante metoder til at skabe lidt dialog med brugeren.

MsgBox

Den første hedder MsgBox og bruges, som navnet antyder, til at vise en beskedboks på skærmen. Syntaksen for MsgBox er (hentet fra hjælpe funktionen):

MsgBox prompt[, buttons] [, title] [, helpfile, context]

Dette betyder at man skal angive en prompt, men de ting, der står i kantede parenteser behøver man ikke angive. Det betyder at vi f.eks. kan skrive

MsgBox "Velkommen til min makro"

Og det kommer så til at se sådan her ud:

Excel VBA kursus - brug af msgbox- fjernundervisning

Og skriver man

MsgBox "Velkommen til min makro", vbYesNo, "Min makro"

Kommer det til at se sådan her ud:

Excel VBA kursus - brug af msgbox med titel og knapper - fjernundervisning

Bemærk, at når man kommer til MsgBox "Velkommen til min makro", dukker der en liste op over mulige knapper man kan sætte på sin MsgBox. vbYesNo dækker i virkeligheden over tallet 4! - det er én af mange konstanter, der er indbygget i VBA.

Returværdi fra en MsgBox

Det giver jo ikke meget mening at sætte knapper på sådan en MsgBox, hvis vi ikke kan finde ud af, hvilken af de to knapper brugeren har trykket på. Vil man have resultater ud af en MsgBox ser det sådan her ud:

svar = MsgBox("Velkommen til min makro", vbYesNo, "Min makro") 
Range("A1").Value = svar

Bemærk, at der er kommet parenteser på! - det er sådan vi signalerer, at vi gerne vil have et svar retur fra metoden. svar er "bare" en variabel, der bruges til at gemme værdien der kommer retur fra MsgBoxen - man bestemmer selv hvad sådanne variable skal hedde.

Knapper på msgbox'en

I eksemplet ovenfor kan du se, at vi kan sætte ja/nej knapper på msgbox'en, men vi har flere muligheder!

Prøv at skrive.

MsgBox "Velkommen til min makro", vbYesNo + vbExclamation + vbDefaultButton2, "Min makro"

Bemærk, at der er også er ændret på, hvilken knap, der er default. Du har følgende knapper at vælge imellem:

 

Konstant Betydning
vbOKOnly Viser OK alene
vbOKCancel Viser OK og Cancel.
vbAbortRetryIgnore Viser Abort, Retry, og Ignore
vbYesNoCancel Viser Yes, No, og Cancel
vbYesNo Viser Yes og No
vbRetryCancel Viser Retry og Cancel
vbCritical Viser Critical Message ikon.
vbQuestion Viser Warning Query ikon.
vbExclamation Viser Warning Message ikon.
vbInformation Viser Information Message ikon.
vbDefaultButton1 Første knap er default.
vbDefaultButton2 Anden knap er default.
vbDefaultButton3 Tredje knap er default.
vbDefaultButton4 Fjerde knap er default.
vbApplicationModal Brugeren skal klikke på knappen før der kan arbejdes videre i Excel.
vbSystemModal Brugeren skal klikke på knappen før der kan arbejdes videre på computeren
vbMsgBoxHelpButton Tilføjer en hjælp-knap
VbMsgBoxSetForeground Sætter msgbox'en til at være det forreste vindue
vbMsgBoxRight Teksten er højrestillet
vbMsgBoxRtlReading Angiver at teksten skal skrives fra højre mod venstre

InputBox

En InputBox giver brugeren mulighed for at skrive lidt til os. Syntaksen er:

InputBox(prompt[, title] [, default] [, xpos] [, ypos] [, helpfile, context])

Og skriver man

svar = InputBox("Hvad hedder du? ", "Velkommen til") 
Range("A1").Value = svar

Ser det sådan her ud:

Excel VBA kursus - brug af inputbox - fjernundervisning

Bemærk, at der her altid skal være parenteser - det er jo ikke specielt smart at lave en inputbox, hvis man ikke bruger resultatet til noget.

Avanceret brugerdialog

Vil man gerne lave en mere avanceret brugerdialog skal man bruge en Userform - det skal vi lære om senere.

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.