Makro med relativa referenser i Excel
Skapa makro med relativa referenser i Excel
En referens är en referens till en cell, alltså något som pekar på en viss cell. En absolut referens pekar på en cell i en viss rad och en viss kolumn. En relativ referens pekar däremot på en annan cell x antal kolumner och y antal rader från där vi står.
Relativa referenser skall vi normalt inte använda, och det kan uppstå en hel del fel om vi av misstag har relativa referenser påslagna. Vi slår av och på relativa referenser genom att klicka på knappen Använd relativa referenser [Use Relative References] i menyfliken Utvecklare [Developer]. Se bilden nedan. När knappen är markerad används relativa referenser.
En bra övning att testa relativa referenser är att skapa ett makro för att skapa adressetiketter. Att kopiera över en namnlista till adressetiketter skulle ta lång tid och vara oerhört jobbigt. Med relativa referenser kan vi automatisera det hela på ett mycket praktiskt sätt.
Vi rekommenderar dessa Excelkurser:
www.infocell.se – lärarledda kvalitetskurser i Excel
www.officekurs.se – oslagbar e-kurser i Excel & Office-paketet
Skapa makro med relativa referenser – steg för steg
- Skapa en lista med namn, adress och ort enligt ovan. Lägg det i Blad1
- Skapa sedan i Blad2 ett rutnät för 3 X 8 adressetiketter. Varje rad etiketter skall ha fyra rader i bladet. Den första för förnamn, den andra för adress och den tredje för ort. Den fjärde raden skall vi sedan använda för att skapa rätt mellanrum mellan etiketterna.
- Sedan ställer vi markören i A1 i Blad2 och därefter i A1 i Blad1. Observera att Blad1 markeras sist så att det är det aktiva bladet.
- Nu går vi in i menyn för makron, markerar Använd relativa referenser [Use Relative References] och startar en inspelning. Vi kallar makrot ”SkapaRad”.
- Vi står redan i A1, dvs namnet i Blad1. Vi klickar helt enkelt Ctrl+C för att kopiera namnet, flyttar över till Blad2 och trycker Ctrl+V. Nu har namnet kommit rätt. Vi går tillbaka till Blad1 och kopierar samma persons adress, går till Blad2 och klistrar in den under namnet. Sedan gör vi samma manöver med orten.
- Därefter gör vi samma sak för de följande två personerna så att vi får en komplett rad etiketter.
- Nu kommer något mycket viktigt. Vi ställer oss i Blad2 i namnrutan för nästa person, det vill säga i A5. Sedan ställer vi oss i namnrutan för fjärde personen i Blad1.
- Därefter avslutar vi makrot.
- Om vi nu gjort rätt har vi ett makro som kopierar upp tre adressetiketter. Makrot börjar med att stå i position för första uppsättningen i Blad1 respektive Blad2 och slutar genom att stå i position för nästa uppsättning tre rader.
- Vi testar vårt makro genom att radera de tre etiketter vi skapat. Vi ställer oss sedan i startposition enlig punkt 3. ovan.
- Nu kör vi vårt makro genom att gå in på menyfliken Utvecklare [Developer]. Klicka på knappen Makron [Macros], välja vårt makro ”SkapaRad” och klicka på Kör [Run].
- De tre etiketterna skapas nu. Om allt ser rätt ut och vi befinner oss i startposition för följande tre etiketter så är det läge att gå vidare. Annars får vi börja om med att spela in makrot på nytt.
- Vi rensar nu de tre etiketterna och ställer oss i startposition enligt punkt 3.
- Vi spelar nu in ett nytt makro ”Skapa24Etiketter”. Vi upprepar punkt 11 ovan och gör det åtta gånger så att makrot vi spelar in skapar 24 etiketter. Det är oerhört viktigt att vi inte markerar någon cell eller växlar blad för att kika på resultatet medan vi spelar in. Vi skall enbart göra åtta körningar av ”SkapaRad” och därefter stoppar vi makrot.
- Vi rensar nu etiketterna, ställer oss i startpositionen enligt punkt 3 och testar vårt nya makro. Om det fungerar så har vi ett makro som skapar 24 etiketter i stöten. Har vi en lång lista med etiketter så är det bara att köra vårt makro ”Skapa24Etiketter” så många gånger att vi får alla namn över till etiketter. Varje körning ställer sig makrot i startposition för nästa uppsättning 24 etiketter.
- Sista delen av detta handlar bara om att justera rader och kolumner i arket med etiketter så att etiketternas layout passar vår utskrift.
OBS! tänk på att inte lämna datorn med knappen Använd relativa referenser [Use Relative References] aktiverad. Det är i undantagsfall vi använder relativa referenser så för att undvika att spela in makron på fel sätt så avaktiverar vi knappen efter övningen.
Fler tips kring VBA och makron hittar du här.
Kan du ha nytta av makron i ditt arbete? Med vår schemalagda tvådagarskurs Excel VBA & Makron lär du dig bygga och strukturera makrokod för att effektivisera ditt Excelarbete. Nästa kurstillfälle är 21-22 november i Stockholm City. Kursen har startgaranti. Läs mer om kursen och boka här.
Programmeringshjälp i Excel? Vi hjälper till med både små och stora uppdrag. Kontakta Tobias Ljung för diskussion – Tobias@infocell.se eller 0522-506007.