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

Selektief printen, aanpassing code Danny147

Status
Niet open voor verdere reacties.

jarre

Gebruiker
Lid geworden
4 jul 2007
Berichten
38
Hallo allemaal,

28 december jl heeft Danny147 een leuke code op het forum gezet.
De code behelst; er worden bv 3 pagina’s van een werkblad geprint, als in A1 van dit werkblad een 3 wordt gezet.

Sub AantalAfrdrukkenViaA1()

Dim iAntwoord As VbMsgBoxResult
Dim iAantal As Integer
iAantal = Range("A1").Value
ActiveSheet.PrintOut From:=1, To:=iAantal, Copies:=1, Collate:=True

End Sub

(Zie ook bijlage: afdrukken)


In een bestaand bestand, hier bijgevoegd als voorbeeld, wil ik vanuit het blad Basis een macro starten die A1 van weekplanning uitlees en vervolgens het juiste aantal pagina’s van weekplanning uitprint.
Ik stuit steeds op een foutmelding. Ik kom er niet uit.
Als aanvullende vraag: moet de code in een Module of in Thisworkbook gezet worden?

Groetend,
Jarre
 

Bijlagen

Beste jarre

Deze code houd in dat hij het aantal copies maakt van het aantal bladen in het werkblad.
Ik zie in afdukvoorbeeld dat je werkblad uit 300 pagina's bestaat.

Is uw bedoeling dat je pagina's wilt van je werkblad of aantal copies ?

Voor aantal pagina's van een werkblad weet ik de code niet, iemand anders op het forum zal je dan wel helpen.

Groetjes Danny. :thumb:
 
Beste jarre

Deze code houd in dat hij het aantal copies maakt van het aantal bladen in het werkblad.
Ik zie in afdukvoorbeeld dat je werkblad uit 300 pagina's bestaat.

Is uw bedoeling dat je pagina's wilt van je werkblad of aantal copies ?

Voor aantal pagina's van een werkblad weet ik de code niet, iemand anders op het forum zal je dan wel helpen.

Groetjes Danny. :thumb:

Hallo Danny,

Mogelijk is de bedoeling niet helemaal duidelijk. Het bestand, werkt als planningsprogramma. Het Basisblad heeft een paar printmacro's met een vast aantal pagina's. Voorbeeld, voor de dagplanning zijn dat 2 pagina's. Voor de weekplanning staat 5 pagina's vast in de macro. Het totaal te printen regels is altijd verschillend.
Als er dus weinig regels geprint wordt, komen er soms wel 2 blanko pagina's uit. Zonde!

Ik dacht; ik tel het aantal regels dat geprint moet worden en deelt het door het aantal wat op een blad gaat. De uitkomst zet ik A1. En met jouw code van 28 dec jl zou ik altijd exact het juiste aantal pagina's moeten printen.

Het probleem is als ik een macro vanuit het basisbestand aanmaakt er een foutcode wordt gegenereert. Kennelijk doe ik iets niet goed, door gebrek aan kennis.

Het zou mooi zijn om het werkend te krijgen.

Groetend,
Jarre
 
een kleine variatie.
De macro in het voorbeeld bestand bepaald zelf de lengte van het afdruk bereik.
In blad weekplanning staat in cel f1000 einde6. Dit bereik heb ik ook de naam einde6 meegegeven. Indien je meer of minder kolommen nodig hebt moet je dit aanpassen.
Je hoeft nu dus zelf niet meer aan te geven hoeveel bladen je wilt afdrukken.
Kijk maar even in het voorbeeld bestand.

Als je vragen hebt dan zie ik het wel

Groeten René
 

Bijlagen

een kleine variatie.
De macro in het voorbeeld bestand bepaald zelf de lengte van het afdruk bereik.
In blad weekplanning staat in cel f1000 einde6. Dit bereik heb ik ook de naam einde6 meegegeven. Indien je meer of minder kolommen nodig hebt moet je dit aanpassen.
Je hoeft nu dus zelf niet meer aan te geven hoeveel bladen je wilt afdrukken.
Kijk maar even in het voorbeeld bestand.

Als je vragen hebt dan zie ik het wel

Groeten René

Beste René,

Dank voor je mooie oplossing, hij is zeer bruikbaar. Ik heb hem uit geprobeerd en het werkt perfect!
Is het ook nog mogelijk om een laatste regel toe te voegen, zodat hij ook vanuit de macro direct de pagina's uitprint?

Vriendelijke groet,
Jarre
 
Wijzig de regel
Code:
ActiveWindow.SelectedSheets.PrintPreview
in
Code:
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

Mvg

Rudi
 
Wijzig de regel
Code:
ActiveWindow.SelectedSheets.PrintPreview
in
Code:
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

Mvg

Rudi

Beste René en Rudi,

Door deze code is het planningsbestand helemaal compleet!
We zijn er erg blij mee en het bespaart ook nog hoop papier. Het is namelijk een bestaand bestand, wat al wat langer in gebruik is.
Goed werk van jullie!

Beide heren hartelijk dank voor de tijd en moeite die jullie aan dit probleem hebben besteed.

Hartelijke groet,
Jarre
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan