Ti generelle forslag til at gøre kodning af Excel VBA hurtigere og lettere. Disse tip er baseret på Excel 2010 (men de fungerer i næsten alle versioner), og mange blev inspireret af O'Reilly-bogen "Excel 2010 - The Missing Manual" af Matthew MacDonald.
1 - Test altid dine makroer i et kast-test-regneark, som regel en kopi af en, som den er designet til at arbejde med. Fortryd fungerer ikke med makroer, så hvis du koder en makro, der foldes, spindles og lemlæses dit regneark, er du heldig, medmindre du har fulgt dette tip.
2 - Brug af genvejstaster kan være farligt, fordi Excel ikke advarer dig, hvis du vælger en genvejstast, som Excel allerede bruger. Hvis dette sker, bruger Excel genvejstasten til makroen, ikke den indbyggede genvejstast. Tænk på, hvor overrasket din chef vil være, når han indlæser din makro, og derefter tilføjer Ctrl-C en tilfældig nummer til halvdelen af cellerne i hans regneark.
Matthew MacDonald fremsætter dette forslag i "Excel 2010 - Den manglende manual."
Her er nogle almindelige tastekombinationer, som du aldrig skal tildele til makrogenveje, fordi folk bruger dem for ofte:
- Ctrl + S (Gem)
- Ctrl + P (Udskriv)
- Ctrl + O (åben)
- Ctrl + N (nyt)
- Ctrl + X (udgang)
- Ctrl + Z (Fortryd)
- Ctrl + Y (Gentag / gentag)
- Ctrl + C (kopi)
- Ctrl + X (klip)
- Ctrl + V (Indsæt)
Brug altid Ctrl + Shift + bogstavmakrokombinationer for at undgå problemer, fordi disse kombinationer er meget mindre almindelige end genvejstasterne Ctrl + bogstav. Og hvis du er i tvivl, skal du ikke tildele en genvejstast, når du opretter en ny, ikke-testet makro.
3 - Kan du ikke huske Alt-F8 (standard makrogenvej)? Betyder navne ikke noget for dig? Da Excel vil gøre makroer i enhver åbnet projektmappe tilgængelige for enhver anden projektmappe, der er i øjeblikket åben, er den lette måde at opbygge dit eget makrobibliotek med alle dine makroer i en separat projektmappe. Åbn denne arbejdsbog sammen med dine andre regneark. Som Matthew udtrykker det, "Forestil dig, at du redigerer en projektmappe ved navn SalesReport.xlsx, og du åbner en anden projektmappe ved navn MyMacroCollection.xlsm, der indeholder et par nyttige makroer. Du kan bruge makroerne i MyMacroCollection.xlsm med SalesReport.xlsx uden problemer. " Matthew siger, at dette design gør det nemt at dele og genbruge makroer på tværs af arbejdsbøger (og mellem forskellige mennesker).
4 - Og overvej at tilføje knapper for at linke til makroerne i det regneark, der indeholder dit makrobibliotek. Du kan arrangere knapperne i alle funktionelle grupperinger, der giver mening for dig og føje tekst til regnearket for at forklare, hvad de gør. Du vil aldrig undre dig over, hvad en kryptisk navngivet makro faktisk gør igen.
5 - Microsofts nye makrosikkerhedsarkitektur er blevet forbedret meget, men det er endnu mere praktisk at fortælle Excel om at stole på filerne i bestemte mapper på din computer (eller på andre computere). Vælg en bestemt mappe på din harddisk som en betroet placering. Hvis du åbner en projektmappe, der er gemt på dette sted, er den automatisk klareret.
6 - Når du koder en makro, skal du ikke prøve at opbygge cellevalg til makroen. Antag i stedet, at de celler, som makroen vil bruge, er blevet forvalgt. Det er nemt for dig at trække musen hen over cellerne for at vælge dem. Kodning af en makro, der er fleksibel nok til at gøre det samme, vil sandsynligvis være fuld af bugs og svært at programmere. Hvis du vil programmere noget, så prøv at finde ud af, hvordan du skriver valideringskode for at kontrollere, om der er foretaget et passende valg i makroen i stedet.
7 - Du kan måske tro, at Excel kører en makro mod den projektmappe, der indeholder makrokoden, men dette er ikke altid sandt. Excel kører makroen i aktiv arbejdsbog. Det er den projektmappe, du kiggede på for nylig. Som Matthew forklarer det, "Hvis du har to arbejdsbøger åbne, og du bruger Windows-proceslinjen til at skifte til den anden projektmappe, og derefter tilbage til Visual Basic-editoren, kører Excel makroen på den anden projektmappe."
8 - Matthew foreslår, at "For lettere makrokodning skal du prøve at arrangere dine windows, så du kan se Excel-vinduet og Visual Grundlæggende editor-vindue på samme tid, side om side. "Men Excel gør det ikke, (Arranger alt i Vis-menuen arrangerer kun Projektmapper. Visual Basic betragtes som et andet applikationsvindue af Excel.) Men Windows vil det. I Vista skal du lukke alle undtagen de to, du vil arrangere, og højreklik på proceslinjen; vælg "Vis Windows side om side". I Windows 7 skal du bruge funktionen "Snap". (Søg online efter "Windows 7-funktioner Snap" for instruktioner.)
9 - Matthews øverste tip: "Mange programmerere finder lange gåture på stranden eller guzzling af en kande med Mountain Dew som en nyttig måde at rydde hovedet på."
Og selvfølgelig mor til alle VBA-tip:
10 - Den første ting, du prøver, når du ikke kan tænke på de udsagn eller nøgleord, du har brug for i din programkode, er at tænde for makrooptager og udfør en masse operationer, der ser ud til at være ens. Undersøg derefter den genererede kode. Det vil ikke altid pege dig mod den rigtige ting, men det gør det ofte. Som et minimum giver det dig et sted at begynde at kigge efter.
Kilde
MacDonald, Matthew. "Excel 2010: Den manglende manual." 1 udgave, O'Reilly Media, 4. juli 2010.