Vi gennemgår princippet af scoping (tilgængelighed – Private/Public) af variable.
Opsætning af Excel til udvikler-fanen, hvorunder VBA-værktøjet ligger. Desuden gennemgåes makrosikkerhed.
Gennemgang af VBA-editorens udseende, værktøjer og arbejdsområder.
Gennemgang af egenskabsvinduet i VBA-editoren. Eksempel med navngivning og synlighed af ark.
Et overblik over generelle konventioner, som er gode at kende til. Fokus på systemer, navngivning og hierakier.
Gennemgang af indspilning af makro-funktionen og hvordan denne virker. Eksempel med filtrering af data.
Udarbejdelse af første kode fra bunden – vi anvender standard-eksemplet “hello world”.
Grundlæggende lektion, hvor data “variable” gennemgåes.
Grundlæggende lektion, hvor dimensionering af data beskrives. Herunder gennemgåes “Option Explicit”.
Vi gennemgår princippet af scoping (tilgængelighed – Private/Public) af procedurer.
Vi gennemgår princippet af scoping (tilgængelighed – Private/Public) af variable.
Gennemgang af kommentering af kode i VBA og hvordan dette kan anvendes, samt hvordan det ikke bør anvendes.
Introduktion til biblioteket med datatyper. Vi introducerer: Sand/Falsk, Byte, Integer, Long, Single, Double, String, Date og Variant.
Grundlæggende lektion, hvor data “konstanter” gennemgåes.
Udvidet gennemgang af tal-datatyper, som indgik i introduktionen til datatyper.
Udvidet gennemgang af tekst-datatyper, som indgik i introduktionen til datatyper.
Udvidet gennemgang af, hvad Subs (procedurer) egentlig er. Herunder kommer vi omkring argumenter.
Gennemgang af funktioner, som i princippet svarer til Subs med et output som resultat.
Gennemgang af objektet beskedbokse og dens forskellige former.
Gennemgang af objektet dialog-bokse og dens forskellige former.
Et kort overblik over 10 tips, som er gode at kende til, inden man kaster sig ud i programmeringsopgaver.
Gennemgang af egenskabsvinduet i VBA-editoren. Eksempel med navngivning og synlighed af ark.
I egenskabsvinduet er der en liste, hvor der på venstre side er de forskellige egenskaber, der tilhører et objekt, og på højre side er der de værdier, som der er for egenskaberne.
De værdier, der typisk kan vælges er binære, altså sandt eller falsk, talværdier, tekst, og valg på lister.
Egenskaberne tilhører nogle objekter. Så det vil sige, at hhvis man har et ark, så har det en række egenskaber. Tilsvarende, så hvis man har valgt en formular, så har det også en række egenskaber.
Vi arbejder videre med den Excelfil, som vi brugte under lektion 2. Det er en fil med tre ark, der hedder Test1, Test2 og Test3.
Hvis vi vælger det øverste ark, så får vi de egenskaber, som der hører til det ark. Bemærk at brugeren, som ser arket ude i brugerfladen, ser navnet som Test1, hvilket er det navn, der står står som egenskab i egenskabsvinduet og med Test1 som værdi.
Men selve arket har også et navn, som er angivet i parentes, og dette er Ark1. Det skyldes at Microsoft Excel objekter som værende ark to forskellige navne, ét som brugeren kan se, og ét som brugeren ikke kan se. Det er gavnligt, da det gør det nemmere med store file med mange ark, da man kan navngive sine ark ift. den funktion, det har.
Antag at det har ark er en fakturadatabase. Vi vil da gerne kalde arket for ArkFaktura. Så kan vi navngive det i egenskabsvinduet, uden at brugeren kan se det. Vi kan så sige, at det navn som brugeren kan se, det er ”Lister”. Brugeren har nu et navn på arket, der hedder lister, mens selve arket hedder ArkFaktura.
Det er god skik at sørge for at kalde de bagvedliggende ark for enten ”ark” som på dansk eller ”sheet” på engelsk, og så efterfølgende deres funktion, da det giver mulighed for tydeligt at fremgå, hvad arket anvendes til.
Der er to egenskaber, som jeg gerne vil gå lidt mere i dettaljer med. Det første er det, der hedder EnableSelection, hvilket giver brugeren rettigheder til at vælge celler i arket eller ej. Der er tre valg på listen. Der er det, der hedder NoRestrictions, hvor brugeren kan vælge alle de celler, der er i arket. Der er det, der hedder UnlockedCells, hvilket betyder, at brugeren kun kan vælge de celler, som ikke er låst. Og der er den, der hedder NoSelection, hvilket betyder at brugeren ikke kan vælge nogen celler i arket overhovedet. Det er muligt at lægge en række begrænsninger ind i arket i forhold til, hvad brugerne skal kunne rette i arket alene på baggrund af denne egenskab.
En af de andr egenskaber, der er lidt mere spændende er synligheden for arket – den egenskab der hedder visible. De fleste, der arbejder med Excel, ved nok ,at det er muligt at skjule et ark ved at højreklikke på arket nede på arkfanen og trykke på skjul. Det er derefter muligt at få arket frem igen ved at højreklikke på fanerne igen og så trykke vis, valge arket på listen, og trykke OK. Så kommer arket frem igen.
Denne egenskab er det også muligt at rette i VBA-editoren, hvor man har en liste for synlighed – men her er det tre valg. Det er simpelthen muligt at vælge, om et ark skal være synligt, om det skal være skjult, eller om det skal være meget skjult. Det sidste betyder, at brugeren ikke har mulighed for at finde arket frem, medmindre vedkommende åbner VBA-editoren. Hvis vi vælger denne mulighed, vil vi bemærke, at arket, der hedder ”Lister” nu ikke længere fremgår blandt fanerne i bunden af vinduet. Og hvis vi højreklikker på fanerne, har vi heller ikke mulighed for at trykke på på ”Vis” og få arket frem igen. Man skal da igennem VBA-editoren for at få arket vist igen.
En af fordelene ved egenskaberne, det er at man ved at køre forskellige koder i de modulern, man sætter op, har mulighed for at rette i de her egenskaber undervejs. Det kan gøre det muligt for den peron, der sidder og programmerer, at sige, at man ud fra en række kriterier kan vælge at sige, at ens ark skal være låst, så brugeren ikke kan vælge nogen celler, eller det her ark skal sle tikke være synligt, og brugeren må heller ikke have mulighed for at finde det frem.
Generel introduktion til hvad objekter er og mapping af primære objekter indenfor Application. Herunder beskrives events, methods og properties.
Detaljeret gennemgang af objekter, som ligger på workbook-niveau. Fokus er på de events og metoder, som ofte anvendes på dette niveau.
Detaljeret gennemgang af objekter, som ligger på worksheet-niveau. Fokus er på de events og metoder, som ofte anvendes på dette niveau, samt anvendelse af data fra worksheets.
Detaljeret gennemgang af objekt-klassen Range. Der gives en længere række eksempler på, hvordan man kan arbejde med ranges og data i ranges.
Detaljeret gennemgang af selektion af objekter.
Detaljeret gennemgang af forskellige måder, hvor man kan tilgå ranges på.
Detaljeret gennemgang af offset-metoden, hvor man kan navigere ud fra definerede nulpunkter i ranges.
Detaljeret gennemgang af hvordan vi tilgår rækker og kolonner i VBA til at navigere i ranges.
Generel introduktion til kontrolstrukturer og kodeopbygning, herunder design og kriterie-håndtering. Vi introducerer kort følgende statements. GoTo, Case, If, With og For.
Detaljeret gennemgang af GoTo statement.
Detaljeret gennemgang af Case statement.
Detaljeret gennemgang af If statement med fokus på strukturen If-Then-Else.
Detaljeret gennemgang af If statement med fokus på strukturen If-Not-Then-Else.
Detaljeret gennemgang af If statement med fokus på strukturen If-And, samt If-Or.
Høj-strukturering af kode i procedurer til simplificering af kodeopbygning. Der lægges vægt på opdeling af procedurer, så samme type kode ikke angives i flere procedurer.
Gennemgang af hvordan man kan kalde procedurer til at køre igennem VBA eller via objekter på worksheet-niveau. Herunder gennemgåes hvordan man kan omgå scoping af private procedurer.
Opsummering af brug af kode og funktioner på kryds og tværs med eksempler på, hvordan man bedst anvender procedurer på tværs.
Introduktion til kontrolelementer, herunder hvor kontrolelementerne findes, de forskellige typer (formularer og ActiveX), samt kort hvad anvendelse de har.
Anvendelse af kontrolelementer i praksis: knap, afkrydsningsfelt og alternativknapper.
Anvendelse af kontrolelementer i praksis: kombinationsbokse, lister, skalafelter og scoping af kontrolelementer.