|
Generelt om makroerTil og med Excel version 4.0 var makroer en simpel seire af handlinger, der blev skrevet under hinanden i et særligt makroark, som derefter blev afviklet i præcis den rækkefølge, de stod. Denne måde at lave makroer på, støttes fortsat i Excel 2003, men er stort set ikke anvendt mere. Også Access har fortsat støtte for en gammeldags type makroark. Fra Excel version 5.0 blev det så muligt at lave langt mere avanceret makroer, da programmeringssproget "Visual Basic for Applications" blev introduceret for første gang. I dag er dette sprog det gængse makroprogrammeringssprog i hele officepakken. Sproget er langt stærkere end de gamle makroark, fordi det nu er muligt at lave struktureret programmering med løkker, betingelser, brugerdialoger og meget andet. Visual Basic for Applications (VBA) er udviklet på grundlag af Microsofts Programmeringssprog Visual Basic (VB). Nogle mener at sproget er en begrænset del af Visual Basic, og det kan man egentlig også godt hævde, da der er elementer i VB, som ikke findes i VBA. På den anden side er der ting i VBA, som ikke eksisterer i VB, så omvendt kan man også sige, at det er en udvidelse til VB. A'et i "VBA" står for Applications, og indikerer, at sproget hører til applikationer. Og det gør det. I VB kan man lave selvstændige .exe filer (altså selvstændige programmer). Programmer, skrevet i VBA, kan kun køre inde i de programmer, de er skrevet i, fx Excel. Man kan altså ikke umiddelbart konvertere en Excel makro til et selvstændigt program, der virker uden for Excel. Excel har indbygget en makrooptager. Denne kan bruges til at registrere de handlinger, man foretager sig. Senere kan makroen så afspilles, hvorefter de samme handlinger gentages. Eller rettere sagt, resultatet af de pågældende handlinger reproduceres. Makrooptageren kan være en god hjælp til at forstå, hvor Excel VBA udfører forskellige ting. Desværre kan man ikke optage komplicerede makroer med styrede forløb, fx i form af løkker. I sin natur minder den mere om de gamle makroark, men der produceres VBA kode i stedet. Under nogle omstædnigheder er det ikke den mest effektive og hensigtsæssige kode, der genereres, men den vil løse opgaven. Nedenstående er en optaget makro. Den laver teksten i den aktuelle celle FED, flytter en celle til højre. Skriver "Ole" i cellen. Laver teksten kursiv og flytter tilbage til den første celle.
Som alle andre indspillede
makroer indledes makroen med Sub... og afsluttes med End Sub. I virkeligheden havde denne kode været mere effektiv: Sub Makro2() Denne kan man dog ikke indspille. Når den er mere effektiv er det primært fordi, markøren ikke flyttes, men forbliver i den aktuelle celle, mens den anden celle udformes på grundlag af dennes placering. I de kommende artikler, vil jeg gå mere i detaljer med forskellige sider af Excels makroer.
- Tilbage til Programmering -
|