macro stampa a condizione
Hai un problema con Excel? 
macro stampa a condizione
di Filter data: 24/01/2017 08:43:41
buongiorno,
da poco ho cominciato ad approfondire le mie conoscenze su Excel e ho creato un file che mi aiuta nella gestione del mio lavoro. non sono un utente esperto in vba e questi sono i miei primi passi.
provo a spiegare il quesito:
ho una cartella Excel con più fogli e in base alla scelta da un menu a tendina vorrei creare un modo di stampare determinati fogli.
ex: se su cella A1="visita periodica biennale" e se A2<50 allora stampa fogli 1,2,3;
se su cella A1="visita mantenimento brevetto" e A2>50 allora stampa fogli 1,3,5;
etc per una decina di casi.
per evitare di creare una macro per ogni opzione possibile, come posso crearne una che distingui l'opzione di stampa?
grazie a chiunque possa darmi una mano.
Sub stampa()
'
' stampa Macro
'
'
Sheets("COPERTINA").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
Sheets("VISITA GENERALE").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
Sheets("ISAP").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
Sheets("ANAMNESI").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
Sheets("CONTROLLO VACCINALE").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
Sheets("PREVENZIONE ONCOLOGICA").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
Sheets("QUESTIONARIO CARDIOLOGICO").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
Sheets("QUESTIONARIO TBC").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
End Sub
|
di alfrimpa data: 24/01/2017 11:37:35
Ciao Filter
Mi pare che il file che hai allegato abbia poco o nulla a che vedere con il codice postato.
Comunque ti consiglierei di documentarti ed approfondire il metodo BeforePrint dell'oggetto Workbook
In pratica le istruzioni che vengono inserite tra queste due righe
Private Sub Workbook_BeforePrint(Cancel As Boolean)
End Sub
verranno eseguite prima che venga effettuata la stampa; quindi tu inserisci le condizioni e se queste non sono verificate basterà scrivere Cancel = True e non succederà nulla.
Alfredo
di Filter data: 24/01/2017 12:03:15
Grazie alfrimpa innanzitutto.
Seguirò il consiglio e inizierò da dove mi hai consigliato. Ho bisogno di un punto di partenza.
Il file che ho allegato è il file che vorrei usare: nel tasto stampa ho registrato la macro (che ho specificato nella riga che ho riportato) che vorrei implementare.
Iniziò a studiare.
di alfrimpa data: 24/01/2017 15:21:41
Giusto per farti un esempio
Alfredo
Private Sub Workbook_BeforePrint(Cancel As Boolean)
If ActiveSheet.Range("a1").Value = "Pippo" And ActiveSheet.Range("b1").Value >= 10 Then
ActiveSheet.PrintPreview
Else
Cancel = True
End If
End Sub
|
di Filter data: 25/01/2017 09:54:27
GRAZIE, MOLTO UTILE.
IO NEL FRATTEMPO STUDIO!!!
Vuoi Approfondire?