| | Post: 65 | Registrato il: 10/06/2008
| Città: BRESCIA | Età: 47 | Utente Junior | Excel 2019 | | OFFLINE | |
|
19/04/2015 12:15 | |
Salve a tutti.
Chiedo aiuto per un problema per il quale non ho trovato una soluzione neanche cercando in giro in internet.
Ho un foglio di excel con una tabella che con 'before print' faccio nascondere alcune righe (in modo che non vengano stampate), ma poi, dopo la stampa vorrei che diventassero di nuovo visibili. Non posso risolvere impostando l'area di stampa perché le righe sono in mezzo.
Servirebbe una macro "after print" insomma, che non esiste.
Si può risolvere in qualche modo facendo una macro per la stampa e collegarla ad un pulsante, ma vorrei evitare questa soluzione.
Grazie [Modificato da Vpre 19/04/2015 12:17] _________________
Excel 2019 |
|
| | Post: 1.772 | Registrato il: 03/04/2013
| Utente Veteran | Excel 2000 - 2013 | | OFFLINE | |
|
19/04/2015 18:51 | |
Buona sera, Vpre;
non è il massimo, ma, in attesa di una soluzione definitiva ...
Ipotizzando che le righe da nascondere in stampa siano:
- 4÷8
Potresti pensare ad una cosa di questo tipo:
Option Explicit
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Range("A4:A8").EntireRow.Hidden = True
[A1].Select
End Sub
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
Range("A4:A8").EntireRow.Hidden = False
Cells(Target.Row + 1, 1).Select
End Sub
Dopo aver eseguito la stampa, basterebbe un "Doppio Click".
Non è automatico al 100%, ma, forse, potrebbe essere un compromesso accettabile.
A disposizione.
Buona serata.
Giuseppe
Windows XP - Excel 2000
Windows 10 - Excel 2013 |
| | Post: 65 | Registrato il: 10/06/2008
| Città: BRESCIA | Età: 47 | Utente Junior | Excel 2019 | | OFFLINE | |
|
19/04/2015 19:12 | |
E' una soluzione, ma volevo che tutto si svolgesse in automatico senza dare compiti da fare, perché il file non lo userò io ma altre persone. Un altra soluzione sarebbe usare la funzione SheetActivate perché il file ha diversi fogli. Basta selezionare un altro foglio e poi ritornare al foglio di prima, ma, vorrei che le righe si scoprissero in automatico dopo la stampa. _________________
Excel 2019 |
| | Post: 1.773 | Registrato il: 03/04/2013
| Utente Veteran | Excel 2000 - 2013 | | OFFLINE | |
|
19/04/2015 19:53 | |
Buona sera, Vpre;
anche questo non è il massimo, ma, solo un alternativa.
Option Explicit
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Stampa
End Sub
In un modulo:
Option Explicit
Sub Stampa()
Range("A4:A8").EntireRow.Hidden = True
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False
Range("A4:A8").EntireRow.Hidden = False
End Sub
Il problema è che, all'Operatore si presenta un messaggio del tipo:
- Vedi immagine allegata
e dovrà necessariamente premere:
- Annulla
Ma, escludendo l'Evento Workbook_BeforePrint, un bel "pulsantone" STAMPA che richiama direttamente il Codice Stampa, non potrebbe creare meno problemi?
A disposizione.
Giuseppe
Windows XP - Excel 2000
Windows 10 - Excel 2013 |
| | Post: 632 | Registrato il: 21/06/2013
| Città: NAPOLI | Età: 70 | Utente Senior | Excel 365 | | OFFLINE |
|
19/04/2015 20:00 | |
Ciao Vpre
Innanzitutto consentimi di salutare Giuseppe.
Potresti provare con la sottostante macro
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Cancel = True
Rows("2:3").Hidden = True <---- da modificare con il tuo range
With ActiveSheet
Application.EnableEvents = False
.PrintOut
Rows("2:3").Hidden = False <---- da modificare con il tuo range
Application.EnableEvents = True
End With
End Sub
[Modificato da alfrimpa 20/04/2015 15:08]
Alfredo |
| | Post: 66 | Registrato il: 10/06/2008
| Città: BRESCIA | Età: 47 | Utente Junior | Excel 2019 | | OFFLINE | |
|
20/04/2015 00:01 | |
Funziona!
Grazie mille _________________
Excel 2019 |
|
|