Macro per stampa fronte retro
Hai un problema con Excel?
Macro per stampa fronte retro
di Pino (utente non iscritto) data: 26/03/2015 15:24:48
Ho una cartella di lavoro, che contiene una ventina di fogli. Ho la necessità di stamparne solo alcuni; per fare questo, perchè è un'operazione che devo eseguire spesso (stampando sempre gli stessi fogli) ho pensato di creare una macro, che allego:
Sub Stampa()
Sheets("Fronte").Select
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate _
:=True, IgnorePrintAreas:=False
Sheets("Anagrafica").Select
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate _
:=True, IgnorePrintAreas:=False
Sheets("Mansione").Select
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate _
:=True, IgnorePrintAreas:=False
Sheets("VST").Select
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate _
:=True, IgnorePrintAreas:=False
Sheets("VPR").Select
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate _
:=True, IgnorePrintAreas:=False
Sheets("APT").Select
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=3, Copies:=1, Collate _
:=True, IgnorePrintAreas:=False
Sheets("OPT").Select
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate _
:=True, IgnorePrintAreas:=False
Sheets("ETR").Select
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate _
:=True, IgnorePrintAreas:=False
Sheets("VTT").Select
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=2, Copies:=1, Collate _
:=True, IgnorePrintAreas:=False
End Sub
La macro funziona bene. Il mio problema è che vorrei economizzare carta, considerando che i vari fogli da stampare contengono testo su una sola pagina (due fogli hanno rispettivamente 2 e 3 pagine). Io utilizzo un paio di stampanti che mi fanno il fronte/retro in automatico: questo funziona se stampo manualmente i singoli fogli, ma non so se sia possibile inserire il comando nella macro.
di Luca73 data: 27/03/2015 10:39:40
Ciao
senza file mi risula difficile rispondere anche perchè non capisco alcune tue scelte.
ad esempio quando scrivi "From:=1, To:=1," è perchè ci sono altri intervalli da stampare oppure no?
secondo me se stampi un foglio (excel) per volta con una sola pagin anon c'è modo una soluzione forse tattibile e selezionare tutti i fogli e farli stampare assieme prendendo le impostazioni della stampante.
Sheets(Array("Fronte", "Mansione", "VST",......)).Select |
di Pino (utente non iscritto) data: 27/03/2015 12:11:27
Nello specifico il From:=1, To:=1 sta ad indicare che per quel foglio deve essere stampata solo la prima pagina (per alcuni fogli come vedi c'è To:=3 perchè devono essere stampate le prime tre pagine). Io vorrei che la macro lanciasse la stampa dei fogli indicati uno di seguito all'altro, compresa l'opzione fronte/retro: esiste una soluzione del genere?.
di Luca73 (utente non iscritto) data: 27/03/2015 17:29:21
Domanda tu sai a priori quante pagine saltare? Intendo tu vuoi stampare la pagina 1 di quante?se così fosse potresti provare sempre con au array di sheets e poi dirgli di stampare la pagina 1 e poi la n+1 se sono quelle da saltare dello sheet 1 e così via
di Pino (utente non iscritto) data: 27/03/2015 18:45:38
Forse non ho spiegato bene il mio problema. Nella cartella di lavoro ho una ventina di fogli; di questi ne devo stampare 5-6, sempre gli stessi. La macro che ho registrato fa il lavoro alla perfezione: stampato il contenuto di un foglio stampa, su un'altra pagina, il contenuto del foglio successivo, e così via fino alla fine. In pratica: il contenuto di ciascun foglio Excel viene stampato su una pagina nuova. Io vorrei, diciamo per economia, utilizzare meglio la carta: vorrei perciò che il contenuto poniamo del secondo foglio di lavoro fosse stampato sul retro della pagina sulla quale, sul davanti, è stato già stampato il contenuto del primo foglio. E' possibile fare questo con una macro??
Vuoi Approfondire?