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

Meerdere tabbladen printen

Status
Niet open voor verdere reacties.

Karag68

Gebruiker
Lid geworden
25 jan 2008
Berichten
111
Hallo,

Ik heb een file bestaande uit 10 sheets.
In cel A1 van elke sheet wordt met ja/nee aangegeven of de betreffende sheet geprint moet worden en in cel A2 staat hoe vaak de pagina geprint moet worden.
Wie kan mij helpen hier een vba code voor te schrijven die dit voor elkaar krijgt?

Alvast bedankt.
 
Zoiets?
Code:
Sub SheetsAfdrukken()

    For Each sh In ThisWorkbook.Sheets
        If sh.Cells(1).Value = "Ja" Then
            sh.PrintOut Copies:=Application.Max(sh.Cells(2, 1).Value, 1)
        End If
    Next sh

End Sub
 
Ginger, dit ziet er erg goed uit. Hartelijk bedankt.

Mag ik je nog vragen om een beetje uitleg van je code zodat ik deze nog meer aan mijn bestand kan aanpassen?
 
Karag68, De procedure is niet zo moeilijk. Met de For Each...Next loop je door alle sheets van je workbook. Hiermee geef je de variabele "sh" de eigenschap van de sheet mee. Vervolgens vraag je in een IF-statement uit of er in cel A1 het woordje "Ja" staat. Zo ja, dan voer je de opdracht van de IF uit. Ofwel je maakt een afdruk. Om te voorkomen dat je gaat afdrukken zonder dat er een aantal in cel A2 staat, heb ik de functie MAX ingezet om er voor te zorgen dat er minimaal 1 afdruk wordt gemaakt. Daarmee voorkom je een error als de cel leeg zou zijn.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan