Immagino che parli del foglio Entrate Colonna P
Potresti sfruttare l'evento BeforeDoubleClick, che scatta quando fai DoppioClick su una cella
Ad esempio con questo codice:
- Codice: Seleziona tutto
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'
If Target.Column <> 16 Then Exit Sub '16=P
Select Case Target.Value
Case "STR.3"
Workbooks("MAPPA-MAG-ESTERNI.xlsx").Sheets("Sheet1").PrintOut '<<<
Case "3/PICKING"
Workbooks("MAPPA-MAG-ESTERNI.xlsx").Sheets("Sheet2").PrintOut '<<<
'Altri "Case" come da tua situazione
End Select
Xit:
Cancel = True
End Sub
Il codice va inserito nel modulo vba del foglio ENTRATE (dove ora hai gia' la Sub Worksheet_Change)
Le righe marcate <<< vanno personalizzate con il vero foglio da Stampare; e ovviamente vanno inseriti ulteriori "Case" per quante sono le possibilità
Si potrebbe anche pensare di sostituire l'intera area Select Case / End Select con
- Codice: Seleziona tutto
On Error Resume Next
Workbooks("MAPPA-MAG-ESTERNI.xlsx").Sheets("Sheet_" & Target.Value).PrintOut
On Error Resume Next
Questo presuppone che i fogli siano nominati come i possibili contenuti di Entrate/colonna P; bisogna anche considerare che alcuni caratteri sono vietati nel NomeFoglio; es
- Codice: Seleziona tutto
/ \ , : ;
e certamente altri
Quanto al "Fronte /Retro", secondo me nel vba non c'e' questa impostazione. Potresti installare una certa stampante con la proprieta' settata di default su Fronte/retro e poi utilizzare quella stampante per le stampe in questione.
Vedi se riesci a fare passi in avanti...