Martina ha chiesto se esista un modo per impostare le aree di stampa in più fogli di lavoro contemporaneamente. Ha una cartella di lavoro contenente una serie di fogli di lavoro strutturati esattamente nello stesso modo e desidera che i rispettivi intervalli di stampa siano esattamente gli stessi.
Come ha scoperto Martina, non c’è modo di farlo direttamente in Excel. Quando selezioni più fogli di lavoro, selezioni l’area che desideri impostare come area di stampa e quindi provi a impostare l’area di stampa, scopri rapidamente che l’opzione per eseguire l’impostazione è disattivata, quindi non puoi selezionare tale opzione.
Tuttavia, ci sono diverse cose che puoi provare. Uno è iniziare con una nuova cartella di lavoro e sviluppare un singolo foglio di lavoro che contenga l’area di stampa come la vorresti su tutti i fogli di lavoro. Quindi, copiare il foglio di lavoro quante volte desideri nella cartella di lavoro. I fogli di lavoro copiati avranno l’area di stampa impostata come nel primo foglio di lavoro.
L’altra opzione è creare una macro che esegua l’impostazione dell’area di stampa per te. Considera la seguente macro, che imposterà l’area di stampa per tutti i fogli di lavoro selezionati su qualunque sia l’area di stampa sul foglio di lavoro attivo (quando è selezionato più di un foglio di lavoro, il foglio di lavoro attivo è quello visibile quando si esegue la macro).
Sub SetPrintAreas1()
Dim sPrintArea As String
Dim wks As Worksheet
sPrintArea = ActiveSheet.PageSetup.PrintArea
For Each wks In ActiveWindow.SelectedSheets
wks.PageSetup.PrintArea = sPrintArea
Next
Set wks = Nothing
End Sub
Se preferisci impostare l’area di stampa su un intervallo specificato, anziché dover prima impostare l’area di stampa sul foglio di lavoro attivo, puoi apportare una piccola modifica alla macro in modo che utilizzi un intervallo per l’area di stampa:
Sub SetPrintAreas2()
Dim sPrintArea As String
Dim wks As Worksheet
sPrintArea = "A7:E22"
For Each wks In ActiveWindow.SelectedSheets
wks.PageSetup.PrintArea = sPrintArea
Next
Set wks = Nothing
End Sub
Per scegliere un’area di stampa diversa, che assecondi le tue esigenze, sostituisci l’intervallo assegnato alla variabile sPrintArea. Se ritieni di poter utilizzare la macro parecchio, in diverse cartelle di lavoro, o se ritieni di dover modificare regolarmente l’area di stampa, puoi modificare la macro in modo che chieda all’utente un intervallo da utilizzare:
Sub SetPrintAreas3()
Dim sPrintArea As String
Dim wks As Worksheet
sPrintArea = InputBox("Inserire l'Area di stampa")
For Each wks In ActiveWindow.SelectedSheets
wks.PageSetup.PrintArea = sPrintArea
Next
Set wks = Nothing
End Sub