Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Adattare area stampa a tabella pivot dinamica

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Adattare area stampa a tabella pivot dinamica

Postdi abernaa » 07/04/11 08:41

Ciao,

nuovo problemino: devo stampare sempre al meglio della disponibilità di spazio sul foglio una tabella pivot che di aggiornamento in aggiornamento cambia di molto altezza e larghezza. Come posso fare per far sì che l'area di stampa si addati in automatico? In aggiunta se possibile, può l'automatismo scegliere il migliore tra orientamento orizzontale verticale?

grazie mille

Alberto
abernaa
Utente Junior
 
Post: 16
Iscritto il: 28/01/11 12:49

Sponsor
 

Re: Adattare area stampa a tabella pivot dinamica

Postdi Anthony47 » 07/04/11 13:30

Stai parlando di stampare tutto su una pagina? e che cosa intendi per "migliore" soluzione (nel caso che non sia una stampa su pagina unica)?

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Adattare area stampa a tabella pivot dinamica

Postdi ricky53 » 07/04/11 23:17

Ciao,
non mi è chiara la tua effettiva esigenza.
Ho capito: la tua tabella pivot ha un numero di righe che varia;
tu vorrestti impostare automaticamente l'area di stampa al variare del numero di righe della pivot ?

Se la pivot è stata fatta in modo standard la riga di inizio dei dati è la "4", in caso non sia così cambia, nel codice, "A4" con la cella di inizio che hai tu.
Codice: Seleziona tutto
    UR = Range("A" & Rows.Count).End(xlUp).Row
    UC = Range("A4").End(xlToRight).Column
    ActiveSheet.PageSetup.PrintArea = "$A$3:$" & Chr(64 + UC) & "$" & UR
    ActiveWindow.SelectedSheets.PrintPreview


Questa macro determina l'ultima riga e l'ultima colonna con dati, imposta l'area di stampa e ti propone l'anteprima di stampa ... poi dovrai adattare ecc. ecc.
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Adattare area stampa a tabella pivot dinamica

Postdi abernaa » 08/04/11 08:55

Scusate se non sono stato sufficientemente chiaro:

la mia esigenza, come avete parzialmente intuito è fare una macro che, al variare della dimensione in larghezza (n° di colonne) e altezza (n° di righe) della tabella pivot che dipende dal file origine elaborato di volta in volta, crei l'anteprima di stampa IN UNA UNICA PAGINA dell'intera tabella pivot, sfruttando al massimo le dimensioni disponibili della pagina e, se possibile, sceglendo se impostare la pagina in orizzontale o in verticale a seconda delle dimensioni della tabella (se la dimensione totale in larghezza che è data dal n° di colonne e dalla loro larghezza è maggiore della altezza totale che è data dal numero di righe e dalla loro altezza sceglie IMPOSTA PAGINA ORIZZONTALE e viceversa.


grazie mille

Alberto
abernaa
Utente Junior
 
Post: 16
Iscritto il: 28/01/11 12:49

Re: Adattare area stampa a tabella pivot dinamica

Postdi ricky53 » 08/04/11 10:37

Ciao,
Uhm,Uhm !!!

Per adattare ad una pagina
Codice: Seleziona tutto
    With ActiveSheet.PageSetup
        .Zoom = False
        .FitToPagesWide = 1
        .FitToPagesTall = 1
    End With


Per scegliere Orizzontale/Verticale ... non penso sia possibile decidere come orientare la stampa.
Il parametro è
Codice: Seleziona tutto
    With ActiveSheet.PageSetup
        .Orientation = xlPortrait ' Verticale
'         .Orientation = xlLandscape ' Orizzontale
    End With


Il problema è come stabile se è
troppo larga e, quindi, la stampa deve essere "Orizzontale"
oppure
troppo lunga e, quindi, la stampa deve essere "Verticale"
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Adattare area stampa a tabella pivot dinamica

Postdi Anthony47 » 08/04/11 13:53

Ok, quindi si tratta di stampa su una sola pagina. Prova questa macro da inserire nel modulo di codice ThisWorkbook:
Codice: Seleziona tutto
Private Sub Workbook_BeforePrint(Cancel As Boolean)
ActiveSheet.UsedRange
If ActiveSheet.UsedRange.Width> ActiveSheet.UsedRange.Height Then
    ActiveSheet.PageSetup.Orientation = xlLandscape
    Else: ActiveSheet.PageSetup.Orientation = xlPortrait
End If
'       
ActiveSheet.PageSetup.Zoom = False
ActiveSheet.PageSetup.FitToPagesWide = 1
ActiveSheet.PageSetup.FitToPagesTall = 1
End Sub

Per il collaudo basta fare Print Preview (Anteprima di Stampa).

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "Adattare area stampa a tabella pivot dinamica":


Chi c’è in linea

Visitano il forum: Nessuno e 7 ospiti