Chiara ha una cartella di lavoro contenente oltre 200 fogli di lavoro che vengono popolati da varie persone nella sua azienda durante il mese. Alla fine del mese deve stampare questi fogli di lavoro. Non tutti i fogli di lavoro contengono dati e Chiara vuole stampare solo i fogli di lavoro che contengono un flag per non sprecare carta. Si chiede se esiste, forse, una macro che può utilizzare per stampare solo i fogli di lavoro che hanno un valore nella cella G41.
La risposta è che una macro del genere potrebbe essere scritta piuttosto facilmente. Dovrebbe solo capire quanti fogli di lavoro ci sono, controllare la cella G41 su ciascuno di essi e quindi stampare solo se c’è qualcosa in quella cella. La macro seguente esegue proprio queste operazioni.
Sub PrintFlag()
Dim wks As Worksheet
For Each wks In ActiveWorkbook.Worksheets
If Not IsEmpty(wks.Range("G41")) Then
wks.PrintOut
End If
Next
End Sub
La macro può essere facilmente modificata per eseguire altre operazioni, come chiedere se un determinato foglio di lavoro deve essere stampato o quante copie devono essere stampate.