• 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 bladen met 1 knop afdrukken op basis van celwaarde

Status
Niet open voor verdere reacties.

tomwelters

Nieuwe gebruiker
Lid geworden
8 okt 2013
Berichten
3
Mannen/vrouwen met kennis van macro's en excell: in de bijlage een bestand met 3 tabbladen: Planning, operatorblad en verzendbladen. Op de planning komt een overzicht van wat er voor vleeswaren moeten worden gesneden, en in cell G36 komt het aantal pallets dat gemaakt moet worden.

Ik heb al met macro's zitten pielen, maar het is me niet gelukt dus daarom probeer ik het hier. Ik wil een knop maken die 1x het tabblad "planning" uitprint, 1x het tabblad "operatorblad", en het tabblad "verzendbladen" moet dan x aantal keer geprint worden, waar x het aantal pallets in G36 is. Iemand enig idee of dat überhaupt mogelijk is, en hoe ik te werk zou moeten gaan? 8,5 pallet moet dan 9 keer worden uitgeprint (afronden naar boven dus).

Alvast vriendelijk bedankt voor de tips.
 

Bijlagen

Even proberen.

Code:
Sub hsv()
Dim sh As Worksheet
For Each sh In Sheets(Array(1, 2, 3))
 sh.PrintOut , , Application.RoundUp(sh.[g36], 0)
Next sh
End Sub
 
Even proberen.

Code:
Sub hsv()
Dim sh As Worksheet
For Each sh In Sheets(Array(1, 2, 3))
 sh.PrintOut , , Application.RoundUp(sh.[g36], 0)
Next sh
End Sub

Als ik deze code probeer, krijg ik de foutmelding dat het getal tussen 1 en 32767 moet liggen, en dan print hij 9 keer het tabblad planning uit. Foutopsporing zegt dat het in deze regel moet liggen:

Code:
 sh.PrintOut , , Application.RoundUp(sh.[g36], 0)
 
Beter?

Code:
Sub hsv()
Dim sh As Worksheet
For Each sh In Sheets(Array("planning2", "Operatorblad2", "Verzendbladen2"))
 If sh.Name = "Verzendbladen2" Then
  sh.PrintOut , , Application.RoundUp(Sheets("planning2").[g36], 0)
   Else
  sh.Printout
 End If
Next sh
End Sub
 
Laatst bewerkt:

Yes! Dit werkt perfect! hij print alles nu goed uit. Hartstikke bedankt.

Ik heb nog wel een ander vraagje. Ik had eerst de volgende code:

Code:
Sheets("Verzendbladen2").Select
With Sheets("Verzendbladen")
        For i = 1 To .Range("B27").Value
            .Range("B26") = i
            .PrintOut
        Next

Die zorgde er voor dat er op elk verzendblad, een oplopend nummer kwam op basis van het aantal pallets. Zo had ik verzendblad 1 t/m 10 bijvoorbeeld. Enig idee of zoiets nog tussen jouw code past?
 
Vast wel, maar ik begrijp de vraag niet aan de hand van het bestand in je openingsvraag en de code die je plaatst.
Misschien dat een voorbeeldbestand dit verhelderd.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan