Grazia ha una cella (C7) che contiene un intervallo, come B8:B207. Ogni volta che l’intervallo cambia in C7, ha bisogno di un modo per modificare l’intervallo di stampa in modo che corrisponda a ciò che si trova in quella cella. Tuttavia, Grazia non è sicura di come impostare l’intervallo di stampa all’interno del codice macro.
Impostare un intervallo di stampa all’interno di una macro è abbastanza semplice; puoi farlo in questo modo:
ActiveSheet.PageSetup.PrintArea = "$A$1:$D$23"
Tieni presente che tutto ciò che devi fare è assegnare alla proprietà PrintArea un intervallo che desideri utilizzare per il tuo intervallo di stampa. Pertanto, se la cella C7 contiene un intervallo (come B8:B207), potresti farlo in questo modo:
ActiveSheet.PageSetup.PrintArea = Range("C7").Value
Se lo desideri, puoi creare un gestore eventi che cambierà l’area di stampa ogni volta che viene modificata la cella C7. Per fare ciò, basta aggiungerlo al modulo VBA per il foglio di lavoro (basta fare clic con il pulsante destro del mouse sulla scheda del foglio e scegliere Visualizza codice, quindi aggiungere la macro lì).
Questo contenuto è riservato agli abbonati
Solo gli utenti con Abbonamento VBA Coder oppure Ultimate possono visionarlo.
Se sei già abbonato Accedi per sbloccare il contenuto!
In caso contrario abbonati qui! L'abbonamento è conveniente.
E puoi interromperlo in ogni momento e in completa autonomia.
(puoi renderti conto di quanti siano i contenuti riservati
raggiungendo questa pagina)
Il gestore eventi Worksheet_Change viene eseguito automaticamente ogni volta che viene apportata una modifica al foglio di lavoro. Se la cella modificata è C7, la proprietà PrintArea viene aggiornata per riflettere tutto ciò che si trova nella cella C7.
Anche se Grazia ha chiesto come impostare l’intervallo di stampa con una macro, va notato che è possibile impostare automaticamente l’intervallo di stampa senza utilizzare una macro.
- Premi Ctrl+Alt+F3. Excel visualizza la finestra di dialogo Nuovo nome.
- Nel campo Nome, inserisci quanto segue: Print_Area.
- Utilizzando l’elenco a discesa Ambito, scegli il foglio di lavoro che contiene la cella (C7) che contiene l’intervallo di stampa.
- Nel campo Riferito a, inserisci la seguente formula: =INDIRETTO(Foglio1!$C$7)
- Fai clic su OK.
Ora, ogni volta che stampi, l’intervallo di stampa verrà acquisito attingendo a qualunque cosa si trovi nella cella C7. Tieni presente che dovresti modificare la formula, nel passaggio 5, per utilizzare il nome del foglio specificato nel passaggio 4 (al posto del foglio Foglio1 utilizzato nell’esempio).