• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Labels / Etiketten printen

Status
Niet open voor verdere reacties.

formatfrits

Gebruiker
Lid geworden
22 okt 2009
Berichten
60
Beste experts,

Ik heb een bestand met namen en adressen, deze wil ik graag op labels printen. Helaas vind ik overal goede uitleg over het printen op labelvellen, maar ik beschik over een label printer, deze labels zitten op een rol. De software van de fabrikant werkt op zijn zachts gezegd omslachtig. Nu heb ik het netjes voor elkaar om 1 label tegelijk vanuit excel te printen. Maar aangezien het dus mogelijk is om een complete adreslijst op te vragen, zou het handig zijn om deze ook als batchfile te printen.
Hetgeen ik nu doe is het samenvoegen van de losse gegevens tot 4 regels, Naam, Adres, PC-Plaats en land. Deze worden naar het afdrukbereik gekopieerd en vervolgens afgedrukt. Nu zou ik dus willen dat ik met een macro naar de volgende regel ga en deze ook weer afdruk, dit tot het adressenbestand een lege regel heeft, daarna moet de macro stoppen.
Is er iemand die mij hiermee op weg zou kunnen helpen?

Namen in het voorbeeld zijn fictief

Groeten,
Frits
 

Bijlagen

Maak kolom K leeg.

Als de code goed is bevonden haal je het rode gedeelte weg in de code.
Code:
Sub hsv()
Dim sv, sq, i As Long, j As Long
With Sheets("blad1")
 sv = .Cells(1, 12).CurrentRegion
 sq = .Range("q40:t40")
   For i = 2 To UBound(sv)
     If sv(i, 1) = "" Then Exit For
       For j = 1 To 4
         sq(1, Abs(j - 5)) = sv(i, j)
       Next j
            .Range("q40:t40") = sq
            .PageSetup.PrintArea = "q40:t40"
            .PrintOut [SIZE=3][COLOR=#ff0000], , , -1[/COLOR][/SIZE]
   Next i
End With
End Sub
 
Beste Harry,

Mag ik je vriendelijk bedanken voor deze oplossing, kolom K leeggemaakt zoals je zei en het werkt perfect.
Nu nog zien of dat ik deze code kan doorgronden, wat ik al zie is dat het rode gedeelte er voor zorgt dat er een afdrukvoorbeeld op het scherm getoond wordt, dus deze ga ik direct verwijderen.

Bedankt en nog een fijne laatste paasdag,
Frits
 
Graag gedaan en insgelijks Frits.

Het kan ook zonder de kolommen K t/m O.
Bij deze code kan je die kolommen leegmaken.

Code:
Sub hsv()
Dim sv, sq, i As Long
With Sheets("blad1")
 sv = .Cells(1).CurrentRegion
 sq = .Range("q40:t40")
    For i = 2 To UBound(sv)
         sq(1, 4) = sv(i, 1) & " " & sv(i, 2)
         sq(1, 3) = sv(i, 4) & " " & sv(i, 5)
         sq(1, 2) = sv(i, 8) & "  " & sv(i, 9)
         sq(1, 1) = sv(i, 10)
            .Range("q40:t40") = sq
            .PageSetup.PrintArea = "q40:t40"
            .PrintOut , , , -1
    Next i
End With
End Sub
 
Laatst bewerkt:
Goedemorgen Harry,

Deze tweede oplossing ga ik zeker eens proberen.

Edit :
Tweede oplossing werkt beter, omdat ik vanaf Kolom L tekst.samenvoegen gebruikte, zag excel dit als niet lege cellen waardoor er een aantal extra lege labels uitgevoerd werden. Dit probleempje is met de tweede macro overruled.
Nogmaals bedankt voor deze oplossing.

Groeten,
Frits
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan