1. Vad är ett makro?
Ett makro är ett kommando som utför flera mindre kommandon. Det kan t.ex vara att markera en lista, summera den och lägga till en ny rad. I stället för att man gör allt detta för hand varje gång, skapar man ett makro som gör allt detta när det akriveras.
Makron är alltså mycket användbara och kan spara mycket tid. Men genom att de är så kraftfulla är de också riskabla. Programspråket som används för makron kan dessvärre också ställa till med stor skada inne i datorn och det är numera vanligt att virus sprids via makron. Makrovirus är idag den i särklass vanligaste typen av virus.
För säkerhets skull finns en inbyggd makrotolk i alla Office-program; se bilden. Den säger alltid till när man öppnar en arbetsbok med makron i sig. Då kan man välja att öppna arbetsboken utan makron.
Dessvärre är detta inte ett hundraprocentigt skydd, men det kan vara bra att känna till.
Man bör aldrig öppna okända filer, eftersom de kan innehålla virus, som skapats av makron. Gör man det ändå kan man öppna filen utan att aktivera makrona.
I sista avsnittet skall vi titta lite på hur ett makro ser ut i kodform. Men innan dess skall vi göra några egna och ofarliga makron.
2. Spela in ett makro
För att du skall förstå principen för makron, börjar vi med ett enkelt makro. Vi skall zooma in och ut ur arbetsboken, något som kan vara bra om man i normalläget inte ser alla kolumner.
Gå in under menyn Verktyg - Makro - Spela in nytt makro.
En ruta kommer upp där man skall namnge makrot.
Namnet bör ha ett namn som talar om vad det är för slags makro, t.ex Zooma_in respektive Zooma_ut.
Namnet får inte innehålla punkt, bindestreck eller blanksteg och det får inte heller börja med en siffra.
Som du ser måste man också välja var makrot skall sparas. Man kan spara det i den arbetsbok man just har öppnat eller i arbetsboken Egna makron. Väljer man det sistnämnda alternativet blir makrot alltid tillgängligt.
Som du ser kan man också koppla ett kortkommando till makrot. Tillgängliga alternativ är Ctrl+tecken eller Ctrl+Shift+tecken. (I Mac är det Alt som används i stället för Ctrl.) Här bör man välja någon kombination som är lätt att komma ihåg och som inte redan finns, t.ex Ctrl+Shift+1 för det första makrot, osv.
Jag lyckas aldrig komma ihåg vilken kombination som är vilken och för att inte riskera att använda fel makro, använder jag numera alltid särskilda knappar för de olika funktionerna...
När du har tryckt OK kommer en liten ruta upp.
Den har en blå knapp på sig, som är till för att stoppa inspelningen. Allt man gör nu fram till dess att man trycker på den blå knappen, kommer att spelas in och ingå i makrot.
Inspelningen är dock inte tidsbunden och det är bara musklickningar som registreras. Däremot händer inget om du bara rör muspekaren fram och tillbaka på skärmen.
Gå upp till zoomningsrutan i verktygsfältet Standard och välj 75% i rullgardinsmenyn. När detta är klart trycker du på stoppknappen för att stanna inspelningen.
Gör ett likadant makro för att zooma ut igen.
Gå in under Verktyg - Makro - Makron för att få upp en lista med dina inspelade makron.
Härifrån kan man köra sina makron och även redigera dem.
Men vi vill kunna komma åt dem utan att behöva gå in under menyerna och därför skall vi nu koppla dem till olika knappar.
3. Koppla makro till en knapp
Man kan koppla ett makro till i princip vad som helst. Vanligast är att man väljer en knapp i ett verktygsfält eller till en textruta som man gjort på vanligt sätt. Här skall vi göra båda varianterna.
Först skall vi göra en knapp på verktygsfältet Standard.
Du kunde läsa mer ingående om detta på sidan om hur man anpassar arbetsytan.
Jag drar det ändå lite snabbt här:
Gå in under Verktyg - Anpassa, välj fliken Kommandon och leta upp Makron i listan över kategorier.
Nu ser du en knapp i högra rutan. Denna kan du ta tag i och dra upp till verktygsfältet Standard.
Högerklicka på knappen du just skapade. I Mac håller man nerer Ctrl och klickar. Välj alternativet Koppla makro till knapp.
Markera det första makrot och klicka på OK.
Nu är Zooma_in kopplat till denna knapp och aktiveras när du klickar på den.
Om du inte gillar knappens utsende kan du lätt ändra det genom att högerklicka och i stället välja Egenskaper. Nu får du upp en ruta där du kan välja nytt utseende.
För att koppla även det andra makrot till en knapp, måste du självklart göra denna först. Det får du göra själv. Jag går nu över till att visa hur man kopplar ett makro till en ruta på kalkylbladet.
Skapa en textruta med texten "Zooma in". Färglägg den och välj det teckensnitt som du tycker verkar lämpligt.
Markera (klicka i) textrutan du gjort, högerklicka sedan på ramen och välj alternativet Koppla makro till knapp.
Nu kommer muspekaren att förändras när du håller den över knappen. Klickar du aktiveras makrot och arbetsbladet zoomas in eller ut.
4. Redigera makron
Nu skall vi titta lite närmare på hur ett makro ser ut. Det kan vara bra att känna till lite om detta, dels för att man skall kunna gå in och redigera ett makro för hand och dels för att man skall slippa göra om utförandet av ett stort makro om man klickat fel.
Gå in under Verktyg - Makro - Makron. I rutan som kommer upp markerar du ett av dina makron och klickar på Redigera. Nu kommer du till ett nytt litet program, som kallas för Visual Basic-editorn.
Du har först och främst ett fönster öppet som visar alla dina makron i en lång rad. När du klickar i ett av makrona finns det en liten ruta längst upp som talar om vad makrot heter.
Till vänster på skärmen finns två fönster som visar olika projekt. Dem kan vi hoppa över, eftersom de inte fyller någon omedelbar funktion här.
Längst upp har du en menyrad som vanligt. Men det du hittar under respektive meny är inte de vanliga Excel-menyerna, utan tillhör VB-editorns. Ta dig en titt!
Det program du nu befinner dig i är alltså ett hjälpprogram till Excel och de andra Office-programmen. Här kan man programmera sina egna makron och vissa saker kan man bara göra här. Men det skall vi inte gå in på i detalj. Vill du lära dig programmera i Visual Basic finns gott om bra litteratur att köpa.
Däremot skall vi titta lite på koden. Makrot som heter Zooma_in ser ut så här:
Sub Zooma_in()
'
' Zooma_in Makro
' Makrot inspelat 2000-07-05 av Jonas Ahlberg
'
'
ActiveWindow.Zoom = 75
End Sub
Första raden definierar vårt makro. Raderna som börjar med en liten apostrof är kommentarer. De är till för att underlätta för oss, så att vi vet vad det heter, när det skapades och vem som gjorde det.
Själva makrokoden säger att Excel skall zooma det aktiva fönstret (i det här fallet kalkylbladet) till 75%. Det är alltså ganska lätt att förstå vad koden betyder.
Vi skall nu skriva in lite mer i koden. Vi vill nämligen inte bara att kalkylarket skall zoomas, utan också att en ny rad skall läggas till:
ActiveWindow.Zoom = 75
Range("A1").Select
End Sub
När du skrivit detta går du upp till Arkiv-menyn och sparar ändringarna i makrot.
Sedan kan du stänga editorn (under Arkiv-menyn) och gå tillbaka till Excel.
När du sedan kör makrot med tillägget, kommer du att se att kalkylbladet inte bara zoomas utan att cellen A1 också markeras.
Man kan göra ganska mycket i editorn. Man kan t.ex stega genom ett makro och få hjälp med felsökningen av koden.
Man stegar genom ett makro med hjälp av tangenten F8. Ställ dig i början av makrot och tryck F8. Nu lyser relevant delav makrokoden upp och du kan följa makrot steg för steg.
Du hittar även denna funktion under menyn Felsök. Det kallas för att stega genom makrot. Om VB-editorn hittar ett fel kommer den att säga till.
Den markerar också det ställe där koden blivit fel.
|