• 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 in een opdracht printen

Status
Niet open voor verdere reacties.

Karag68

Gebruiker
Lid geworden
25 jan 2008
Berichten
111
Hallo,

Ik gebruik momenteel een macro om meerdere tabbladen met een klik te printen:

For i = 2 To 11
j = Sheets(i).Range("C40").Value
If j = "Ja" Then
Sheets(i).PrintOut
Else
End If
Next

Op elk van de tabbladden 2 t/m 11 staat in cel C40 of deze geprint moet worden of niet middels Ja/Nee.
Alleen heb ik nu dat elk tabblad een aparte printopdracht is. In het ergste geval dus 10 aparte printopdrachten.
Is het ook mogelijk dat ik maar 1 printopdracht krijg of gaat dit helemaal niet?
Of kunnen ze verzameld worden in een PDF en dat ik deze dan kan printen?
Wie weet hier een antwoord op?
Bij voorbaat dank voor de moeite.
 
Laatst bewerkt:
Plaats een voorbeeld documentje.
 
Probeer dit eens:
Code:
Private Sub CommandButton1_Click()
    Dim shts() As String
    Dim i As Integer
    Dim x As Integer

    For i = 2 To 11
        If LCase(Sheets(i).Range("C40")) = "ja" Then
            ReDim Preserve shts(x)
            shts(x) = Sheets(i).Name
            x = x + 1
        End If
    Next

    Sheets(shts).PrintPreview
End Sub
 
Laatst bewerkt:
Edmoor,

Ik heb net je code proberen te testen, maar hij werkt bij mij niet.
De waarde in C40 wordt niet opgehaald in de verschillende tabbladen.
Ik merk ook dat de waarde van X op 0 blijft??
Wat gaat er nu mis?
 
Je hebt gelijk. Mijn fout.
Jouw code werkt inderdaad perfect.
Hartelijk bedankt dat je mij geholpen hebt.
 
Graag gedaan :)
 
Ik heb nog een "klein" verzoek.
Als ik nu van elk tabblad meerdere kopieen moet hebben?
Het aantal kopieen per tabblad staat dan in C41 dus bv sheet 2 moet 4 keer en sheet 3 moet 2 keer enz.
Kan dat ook toegevoegd worden?
 
Nee, dat gaat niet in 1 en dezelfde print opdracht.
Dat zal appart geprogrammeerd moet worden om dat in diezelfde printopdracht te krijgen.

Je kan een blad zo vaak kopiëren als in C41 staat en die een tijdelijke naam geven.
Dat voor alle bladen waar C41 > is dan 1, vervolgens de print opdracht en de tijdelijke bladen weer verwijderen.
 
Laatst bewerkt:
Terwijl jij je reactie plaatste heb ik #10 nog wat aangepast.
 
Worden inderdaad verschillende opdrachten.

Code:
Sub VenA()
  For Each sh In Sheets
    If sh.Name <> "Start" And LCase(sh.Range("C40")) = "ja" And sh.Range("C41") > 0 Then sh.PrintOut copies:=sh.Range("C41")
  Next sh
End Sub
 
In #10 heb ik beschreven hoe het wel kan.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan