• 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.

Printen met loop

Status
Niet open voor verdere reacties.

Rusty1979

Gebruiker
Lid geworden
8 jul 2009
Berichten
72
Hallo,

Ik heb een vraag over het printen van loonstroken met een loop.

Op tabblad 'Temp' staat een lijst met medewerkers (deze lijst heeft een variabele lengte).
De loop in mijn macro kopieert 1 voor 1 de personeelsnummers (uit kolom A) naar cel D1 op tabblad 'Invoerblad' (waar vervolgens allemaal verticaal.zoek formules de gegevens uit een database zoeken).

Code:
'Kopieer alle personeelsnummers 1 voor 1 naar het Invoerblad
    Sheets("Temp").Select
    With Sheets("Temp")
    x = 0
    Do While x <= .Range("A65536").End(xlUp).Row
    x = x + 1
    Sheets("Invoerblad").Range("D1").Value = .Cells(x, 1)
    Sheets("Invoerblad").PrintOut Copies:=1
    Loop
    End With

Op zich werkt de loop prima, alleen ik krijg er altijd één extra pagina uit, waarop allemaal #N/B's staan.
Het lijkt er dus op dat de loop ná het laatste personeelslid nog een blanco cel kopieert naar het invoerblad en dan pas stopt.
Eigenlijk zou hij gewoon bij het laatste personeelslid moeten stoppen.

Weten jullie welke aanpassing ik in de code moet doen om dit te voorkomen?
 
Laatst bewerkt:
Ik heb jou code iets aangepast. Test maar of het nu goed gaat.
Code:
With Sheets("Temp")
    x = 1
    Do While x <= .Range("A65536").End(xlUp).Row
    Sheets("Invoerblad").Range("D1").Value = .Cells(x, 1)
    Sheets("Invoerblad").PrintOut Copies:=1
    x=x+1
    Loop
End With
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan