Permalänk
Medlem

Execl och macro kod som felar?

Hej.
Håller på och försöker skapa ett macro som ska underlätta skapandet av märkningar. Dessa görs i execl med en viss 'layout' som vi haft problem med att dessa blir olika stora efter att folk dragit i celler efter eget tycker å smak.

Vi har redan ett macro som göra andra typer av märkningar som jag har moddiferat så det _nästan_ gör de jag vill. Dock inte mer än en i taget som blir rätt. Har gjort om det så detta slår ihop 2 första raderna. Det förra gjorde endast 4 rader med text i, så har kommit en bra bit ändå.
Här kommer lite bilder samt macrot som används.

Info som ska omvandlas till märkning.

Här är slut resultat som nästan är rätt.

Macrot som gör detta jobb

Men jag förstår absolut inte vad felet är gällande att de lyckas fylla i 3 av 4 rutor med rätt info men inte den sista. Har inte pillat på med macros tidigare men har då ändå lyckats kommit så här långt. Har försökt med debug läget för att se om jag lyckas förstå varför den inte skapar sista rutan med har ej kommit på något.

Vore tacksam om någon har hint om vad jag kan göra som löser detta felet.

Help help

Permalänk

Nu var det ett tag sedan jag körde VBA samt har inte tillgång till excel för att prova själv, men det ser ut som att du endast kör autofill för A-kolumnen, vilket gör att du inte får med det som ligger i B-kolumnen.
Tänker på rad 95:

If Not numlabels = 1 Then Sheets("Labels").Range("A1:A3").AutoFill Destination:=Sheets("Labels").Range("A1:A" & fillrow)

Kan eventuellt räcka med att ändra source range till "A1:B3", samt destination till "A1:B".
Tänker att det borde motsvara att markera den första Labeln och sedan dra i det gröna handtaget.

Kan vara ute och cykla dock.

Permalänk
Medlem
Skrivet av flexiflexi:

Nu var det ett tag sedan jag körde VBA samt har inte tillgång till excel för att prova själv, men det ser ut som att du endast kör autofill för A-kolumnen, vilket gör att du inte får med det som ligger i B-kolumnen.
Tänker på rad 95:

If Not numlabels = 1 Then Sheets("Labels").Range("A1:A3").AutoFill Destination:=Sheets("Labels").Range("A1:A" & fillrow)

Kan eventuellt räcka med att ändra source range till "A1:B3", samt destination till "A1:B".
Tänker att det borde motsvara att markera den första Labeln och sedan dra i det gröna handtaget.

Kan vara ute och cykla dock.

Tackar, jag provar.. Dock har jag för mig att jag varit där å testat redan..

If Not numlabels = 1 Then Sheets("Labels").Range("A1:A3").AutoFill Destination:=Sheets("Labels").Range("A1:B3" & fillrow)

Detta gjorde att info som stod i A3, flyttades till B3, i resterande rader. Dock då endast den info in dessa som skapades, resten blev helt tomma.

Löst! Det där att tolka saker fel. Här är lösningen:

If Not numlabels = 1 Then Sheets("Labels").Range("A1:B3").AutoFill Destination:=Sheets("Labels").Range("A1:B3" & fillrow)

Tack får mycket för hjälpen. Lätt att låsa sig vid att det ska vara å ett visst sätt. Nu ska jag fortsätta med borders osv.

Lösningen är med i texten.
Permalänk
Skrivet av MrHummf:

If Not numlabels = 1 Then Sheets("Labels").Range("A1:A3").AutoFill Destination:=Sheets("Labels").Range("A1:B3" & fillrow)

Detta gjorde att info som stod i A3, flyttades till B3, i resterande rader. Dock då endast den info in dessa som skapades, resten blev helt tomma.

Testa detta:

If Not numlabels = 1 Then Sheets("Labels").Range("A1:B3").AutoFill Destination:=Sheets("Labels").Range("A1:B" & fillrow)

Edit: Snyggt! Lycka till.