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

Sheet overslaan in bestaande print-macro bij lege cel.

Status
Niet open voor verdere reacties.

Slaksken

Gebruiker
Lid geworden
20 dec 2013
Berichten
7
Dag iedereen

Een vraagje ivm met een bestaande macro.

Op dit moment gebruiken we excel om chauffeurskaarten uit te printen.
Dit zijn verschillende rondes. We gebruiken daarvoor een overzicht dat we cel per cel gelinkt hebben aan de chauffeurskaarten.

Nu wil ik in de macro een lijn toevoegen dat ervoor zorgt dat als er geen chauffeur is deze kaart (sheet) niet wordt afgedrukt.
Dus als er een specifieke cel leeg is hij de printopdracht van die sheet overslaat. Dit om papier te besparen.

dit is de code zoals ze nu is :

Code:
Sub printenrittenbladen()
'
' printenrittenbladen Macro
'

'
    Sheets("info administratie").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("input").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=5, Collate:=True
    Sheets("A3 PLANNING").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("Bezali 1 Veeg").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("Bezali 2 Bache").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("Borden Bache").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("Luchtbal 1 Veeg").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("Luchtbal 2 Bache").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("Rozemaai Veeg").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("Ekeren 1 Veeg").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("Ekeren 2 Bache").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("Ekeren 3 Veeg").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("Ekeren 4 Bache").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("Fiets Ekeren Veeg").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("Merksem 1 Veeg").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("Merksem 2 Bache").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("Merksem 3 Veeg").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("Merksem 4 Bache").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("Merksem 5 Bache").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("Merksem 6 Bache").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("Merksem - Deurne Veeg").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("Fiets Merksem - Deurne Veeg").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("Deurne 1 Veeg").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("Deurne 2 Bache").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("Deurne 3 Veeg").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("Deurne 4 Bache").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("Deurne 5 Veeg").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("Deurne 6 Bache").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("Deurne 7 Bache").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("Bezali 1 Check").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("Bezali 2 Check").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("Borden Check").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("Luchtbal 1 Check").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("Luchtbal 2 Check").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("Rozemaai Check").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("Ekeren 1 Check").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("Ekeren 2 Check").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("Ekeren 3 Check").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("Ekeren 4 Check").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("Fiets Ekeren Check").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("Merksem 1 Check").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("Merksem 2 Check").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("Merksem 3 Check").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("Merksem 4 Check").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("Merksem 5 Check").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("Merksem 6 Check").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("Merksem - Deurne Check").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("Fiets Merksem - Deurne Check").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("Deurne 1 Check").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("Deurne 2 Check").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("Deurne 3 Check").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("Deurne 4 Check").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("Deurne 5 Check").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("Deurne 6 Check").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("Deurne 7 Check").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Sheets("input").Select
    Range("D1").Select
End Sub

Ik had al een code getest maar werkte niet.
Ik ben nog niet zo lang met macro's bezig dus mijn ervaring is beperkt.

Alvast bedankt.
 
Dit is een gewone printopdracht zonder check op aanwezigheid van gegevens.
Er zou een bereik moeten aangegeven worden waar die gegevens kunnen gevonden worden.
Kan je een voorbeeldbestandje posten aub?

Ik heb de bestaande code een beetje ingekort maar de werking blijft dezelfde.

Code:
Sub printenrittenbladen()

    Sheets("info administratie").PrintOut Copies:=1, Collate:=True
    Sheets("input").PrintOut Copies:=5, Collate:=True
    Sheets("A3 PLANNING").PrintOut Copies:=1, Collate:=True
    Sheets("Bezali 1 Veeg").PrintOut Copies:=1, Collate:=True
    Sheets("Bezali 2 Bache").PrintOut Copies:=1, Collate:=True
    Sheets("Borden Bache").PrintOut Copies:=1, Collate:=True
    Sheets("Luchtbal 1 Veeg").PrintOut Copies:=1, Collate:=True
    Sheets("Luchtbal 2 Bache").PrintOut Copies:=1, Collate:=True
    Sheets("Rozemaai Veeg").PrintOut Copies:=1, Collate:=True
    Sheets("Ekeren 1 Veeg").PrintOut Copies:=1, Collate:=True
    Sheets("Ekeren 2 Bache").PrintOut Copies:=1, Collate:=True
    Sheets("Ekeren 3 Veeg").PrintOut Copies:=1, Collate:=True
    Sheets("Ekeren 4 Bache").PrintOut Copies:=1, Collate:=True
    Sheets("Fiets Ekeren Veeg").PrintOut Copies:=1, Collate:=True
    Sheets("Merksem 1 Veeg").PrintOut Copies:=1, Collate:=True
    Sheets("Merksem 2 Bache").PrintOut Copies:=1, Collate:=True
    Sheets("Merksem 3 Veeg").PrintOut Copies:=1, Collate:=True
    Sheets("Merksem 4 Bache").PrintOut Copies:=1, Collate:=True
    Sheets("Merksem 5 Bache").PrintOut Copies:=1, Collate:=True
    Sheets("Merksem 6 Bache").PrintOut Copies:=1, Collate:=True
    Sheets("Merksem - Deurne Veeg").PrintOut Copies:=1, Collate:=True
    Sheets("Fiets Merksem - Deurne Veeg").PrintOut Copies:=1, Collate:=True
    Sheets("Deurne 1 Veeg").PrintOut Copies:=1, Collate:=True
    Sheets("Deurne 2 Bache").PrintOut Copies:=1, Collate:=True
    Sheets("Deurne 3 Veeg").PrintOut Copies:=1, Collate:=True
    Sheets("Deurne 4 Bache").PrintOut Copies:=1, Collate:=True
    Sheets("Deurne 5 Veeg").PrintOut Copies:=1, Collate:=True
    Sheets("Deurne 6 Bache").PrintOut Copies:=1, Collate:=True
    Sheets("Deurne 7 Bache").PrintOut Copies:=1, Collate:=True
    Sheets("Bezali 1 Check").PrintOut Copies:=1, Collate:=True
    Sheets("Bezali 2 Check").PrintOut Copies:=1, Collate:=True
    Sheets("Borden Check").PrintOut Copies:=1, Collate:=True
    Sheets("Luchtbal 1 Check").PrintOut Copies:=1, Collate:=True
    Sheets("Luchtbal 2 Check").PrintOut Copies:=1, Collate:=True
    Sheets("Rozemaai Check").PrintOut Copies:=1, Collate:=True
    Sheets("Ekeren 1 Check").PrintOut Copies:=1, Collate:=True
    Sheets("Ekeren 2 Check").PrintOut Copies:=1, Collate:=True
    Sheets("Ekeren 3 Check").PrintOut Copies:=1, Collate:=True
    Sheets("Ekeren 4 Check").PrintOut Copies:=1, Collate:=True
    Sheets("Fiets Ekeren Check").PrintOut Copies:=1, Collate:=True
    Sheets("Merksem 1 Check").PrintOut Copies:=1, Collate:=True
    Sheets("Merksem 2 Check").PrintOut Copies:=1, Collate:=True
    Sheets("Merksem 3 Check").PrintOut Copies:=1, Collate:=True
    Sheets("Merksem 4 Check").PrintOut Copies:=1, Collate:=True
    Sheets("Merksem 5 Check").PrintOut Copies:=1, Collate:=True
    Sheets("Merksem 6 Check").PrintOut Copies:=1, Collate:=True
    Sheets("Merksem - Deurne Check").PrintOut Copies:=1, Collate:=True
    Sheets("Fiets Merksem - Deurne Check").PrintOut Copies:=1, Collate:=True
    Sheets("Deurne 1 Check").PrintOut Copies:=1, Collate:=True
    Sheets("Deurne 2 Check").PrintOut Copies:=1, Collate:=True
    Sheets("Deurne 3 Check").PrintOut Copies:=1, Collate:=True
    Sheets("Deurne 4 Check").PrintOut Copies:=1, Collate:=True
    Sheets("Deurne 5 Check").PrintOut Copies:=1, Collate:=True
    Sheets("Deurne 6 Check").PrintOut Copies:=1, Collate:=True
    Sheets("Deurne 7 Check").PrintOut Copies:=1, Collate:=True
    
End Sub
 
Hierbij een voorbeeldje. Ik heb wat pagina's moeten verwijderen omdat ze anders te groot was.

Je zal zien dat op de sheet input alles wordt ingegeven en dit wordt overgenomen op de andere pagina's met de formule (bv) =input!A1 etc...

Als het vakje van de chauffeur leeg is zou de macro deze werkkaart moeten overslagen.
 

Bijlagen

  • WERKVERDELING_Voorbeeld.xls
    285 KB · Weergaven: 31
Heb al je lege modules uit je bestand gehaald en ook de Print-code vervangen door dit:
Code:
Sub uitprinten()

For Each ws In ThisWorkbook.Sheets
 If Not ws.Name = "Input" Then
  With ws
   If .Range("C4") <> "" Then
     .PrintOut
   End If
  End With
 End If
Next
End Sub

Nu loopt deze code alle bladen af en kijkt of C4 niet leeg is.
Dan wordt het blad al of niet geprint.
 

Bijlagen

  • WERKVERDELING_Voorbeeld.xls
    252 KB · Weergaven: 41
Hij drukt de kaarten nog steeds af. Zelfs als er geen input is. Zou hij de formule dan lezen als inhoud?

Op elke Cel C4 in de sheets behalve input staat =input!c1 , volgende staat =input!c2 enz...
 
Laatst bewerkt:
Heb het even grondig getest en bij volledig lege cellen slaat hij over maar met formule in print hij... de show zero instelling staat uit dus die cellen met formule zijn blanco dus zal hij blijkbaar de formule nog als inhoud lezen.
 
Ja stom hé, ik had ook niet grondig getest.
Maar deze aanpassing zou dit euvel moeten verhelpen:
Code:
Sub uitprinten()

For Each ws In ThisWorkbook.Sheets
 If Not ws.Name = "input" Then
  With ws
   If .[COLOR="#FF0000"][/COLOR][B]Range("C4").Text > ""[/B] Then
      .PrintOut
   End If
  End With
 End If
Next
End Sub
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan