Ik heb een workbook dat kan bestaan van een tiental tot meer dan 100 pagina's.
Het gebeurt me (soms) dat ik alle pagina's afdruk en er daarna achter kom dat ik heb vergeten een of twee datums in te vullen.
Die datums staan op 1 blad.
Nu dacht ik daar het volgende op gevonden te hebben:
Eerst controleren of de datums zijn ingevuld en dan eventueel een inputbox om daar de datums in te vullen.
Ik heb dat als volgt gedaan:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
On Error Resume Next
Sheets("5 Gegevens").Select
Dim strdag
If Range("AY41") = "" Then
Range("AY41").Select
strdag = InputBox("Voer eerst de datum in, voor het printen", "Datum invullen !!!!", "dd mm jjjj")
Range("AY41") = strdag
End If
If Range("AY42") = "" Then
Range("AY42").Select
strdag = InputBox("Voer eerst de datum in, voor het printen", "Datum invullen !!!!", "dd mm jjjj")
Range("AY42") = strdag
End If
End Sub
De controle werkt prima. Ook het invullen.
Wat er echter ontbreekt is het volgende: Ik ga niet terug naar het eerdere printbereik (geslecteerde pagina's)!
Voor het selecteren van Sheets("5 Gegevens"), moet ik het printbereik (wat ik eerder had geselecteerd) in een variabele hebben.
Na het uitvoeren van de datum-invul-controle moet ik weer terug naar het van te voren geslecteerde bereik. Anders wordt alleen de pagina "5 Gegevens" afgedrukt, omdat die immers in de routine was geselecteerd.
Gaarne een idee hoe ik het printbereik vastleg en daarna naar dat bereik terug ga.
m.vr.gr.,
Jans
Het gebeurt me (soms) dat ik alle pagina's afdruk en er daarna achter kom dat ik heb vergeten een of twee datums in te vullen.
Die datums staan op 1 blad.
Nu dacht ik daar het volgende op gevonden te hebben:
Eerst controleren of de datums zijn ingevuld en dan eventueel een inputbox om daar de datums in te vullen.
Ik heb dat als volgt gedaan:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
On Error Resume Next
Sheets("5 Gegevens").Select
Dim strdag
If Range("AY41") = "" Then
Range("AY41").Select
strdag = InputBox("Voer eerst de datum in, voor het printen", "Datum invullen !!!!", "dd mm jjjj")
Range("AY41") = strdag
End If
If Range("AY42") = "" Then
Range("AY42").Select
strdag = InputBox("Voer eerst de datum in, voor het printen", "Datum invullen !!!!", "dd mm jjjj")
Range("AY42") = strdag
End If
End Sub
De controle werkt prima. Ook het invullen.
Wat er echter ontbreekt is het volgende: Ik ga niet terug naar het eerdere printbereik (geslecteerde pagina's)!
Voor het selecteren van Sheets("5 Gegevens"), moet ik het printbereik (wat ik eerder had geselecteerd) in een variabele hebben.
Na het uitvoeren van de datum-invul-controle moet ik weer terug naar het van te voren geslecteerde bereik. Anders wordt alleen de pagina "5 Gegevens" afgedrukt, omdat die immers in de routine was geselecteerd.
Gaarne een idee hoe ik het printbereik vastleg en daarna naar dat bereik terug ga.
m.vr.gr.,
Jans