Skapa etiketter med makro i Excel

Makro-tips: Skriv ut etiketter / kuvert med adresser

I detta makrotips skall vi se hur vi kan skapa färdigtryckta kuvert/etiketter. Metoden vi använder oss av kan även omarbetas till att skriva ut rapporter av diverse olika slag.

För att skriva ut adresser behöver vi en adresslista. I exemplet ställer vi oss på första personen i listan och skapar sedan en adress per person.

Vill du följa med i beskrivningen nedan eller testa lösningen, laddar du ner exempelfilen här.

Vi rekommenderar dessa Excelkurser:
www.infocell.se – lärarledda kvalitetskurser i Excel
www.officekurs.se – oslagbar e-kurser i Excel & Office-paketet

När vi skapat en adress så ställer vi oss på nästa persons namn. Skulle den cellen vara tom så vet vi att vi gått igenom hela listan. Konkret flyttar vi oss till nästa rad med hjälp av Offset. Offset flyttar oss så många rader och kolumner vi vill i förhållande till aktiv cell, i det här fallet en rad nedåt och noll kolumner till höger. Funktionen Offset kan användas i alla fyra riktningarna.

' Vi ställer oss på första personens namn
Blad1.Range("A2").Select

While ActiveCell.Value <> ""
    ' här finns en massa kod...

    ' Vi ställer oss på nästa persons namn en rad ned
     ActiveCell.Offset(1, 0) .Select
Wend

Loop med While – Wend

Loopen WhileWend ovan kommer alltså att flytta markeringen en rad ned för varje person i listan tills vi når en tom cell. Om vi bara kör koden ovan kommer vi alltså att hamna på första tomma cellen i A-kolumnen.

När vi skall göra en etikett behöver vi ofta slå samman till exempel för- och efternamn och detta kan vi lämpligen spara i en variabel. I koden nedan slås den aktiva cellen (med förnamn) ihop med värdet i cellen till höger på samma rad, Offset(0,1). Mellan för- och efternamn läggs ett mellanrum ” ”.

sFullstandigtNamn = ActiveCell.Value & " " & ActiveCell.Offset(0, 1).Value

 

För varje varv i WhileWend loopen hämtar vi fullständigt namn, adress samt postnummer och postort till tre olika variabler för den aktuella personen.

Därefter markerar vi arket med adresserna och där skriver vi in namn, adress och ort ut efter varandra i kolumn A. Med hjälp av Offset flyttar sig koden till rätt målceller. När en adress är klar lägger vi in en radbrytning.

När alla adresser är klara anger vi en topp- och vänstermarginal som gör att utskriften hamnar på lämplig plats på kuvertet. Därefter kan adresserna skrivas ut. Det förutsätter givetvis att skrivaren kan hantera kuvert.

Fullständig kod finns i Excelfilen i länken i början av sidan.

Associerad Excelkurs: VBA & Makron i Stockholm City

Associerad e-kurs: VBA & makron på www.officekurs.se

Du gillar kanske också...

Börja prenumerera idag!

Ta del av tips & tricks i Excel och Office en gång i månaden helt kostnadsfritt.

Grattis! Du kommer nu att få Excelbrevet varje månad helt gratis.