Tabella Pivot modifica dell'area di stampa

Anonimo
2014-02-05T09:17:22+00:00

Ciao a tutti

utilizzo le tabelle PVT per la gestione delle vendite (1600 righi per 91 colonne).

L'area della tabella PVT varia a secondo del dato filtrato sull'"etichetta di riga" e tutte le volte, per poter stampare la tabella, sono costretta ad impostare nuovamente l'area di stampa. Volevo chiedervi se potevate indicarmi un metodo per far si chee l'area di stampa si modifichi automaticamente.

Grazie per il vostro aiuto

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento
Risposta accettata dall'autore della domanda
Anonimo
2014-02-05T22:12:52+00:00

Ciao a tutti,

propongo una soluzione senza vba.

Posizionati sulla prima cella in alto a sinistra (quella da cui deve avere inizio l'area di stampa). Adesso definisci il nome "prima" ad esempio così:

prima=$A$3

poi definisci il nome rng così:

rng=SCARTO(prima;;;200;200)

in sostanza rng identifica un range che comincia dalla prima cella e si estende per un area che verosimilmente è molto più grande di quella che sarà interessata dalla pivot.

Adesso (abbiamo quasi finito) tra i nomi trovi il nome Area_stampa, sostituisci il riferimento con questa formula:

=prima:SCARTO($A$1;MAX(RIF.RIGA(rng)*NON(VAL.VUOTO(rng)))-1;MAX(RIF.COLONNA(rng)*NON(VAL.VUOTO(rng)))-1)

Fine!

Se tutto è stato fatto correttamente l'area di stampa dovrebbe aggiornarsi in automatico

saluti

r

p.s.

Marisa che versione usi di Excel?

La risposta è stata utile?

0 commenti Nessun commento
Risposta accettata dall'autore della domanda
Anonimo
2014-02-05T18:03:00+00:00

...

Appena ho modificato il nome del foglio si è aperta una finestra con il seguente errore:

"Errore di compilazione

Previsto: Espressione" evidenziando nella stringa il simbolo in grassetto sopra "&"

 

Il nome dato al foglio è "Venditore" mentre sulla pagina di proggettazione è indicato "Foglio 1 (Venditore)". Ho provato ad inserire anche questo nella stringa e non appare nessun errore, ma quando attivo il filtro della tabella Pivot non succede nulla.

 

Ho provato a inserire la prima stringa che mi hai fornito inserendo il nome indicato sul foglio di progettazione ma anche in quel caso nulla.

 

Ciao e grazie

Marisa

Ciao Marisa,

abbiamo finalmente svelato l'arcano.

Hai confuso il nome del foglio con il nome della tabella pivot.

Il nome del foglio è quello che leggi sulla linguetta, mentre per vedere il nome della tabella pivot devi fare così: 

seleziona una cella qualsiasi della pivot e clicca su Strumenti tabella pivot, il nome lo leggi nel box Nome tabella pivot (tutto a sinistra). 

Comunque, se questa è l'unica tabella pivot presente sul foglio puoi seguire il consiglio di Mauro.

Andrea.

La risposta è stata utile?

0 commenti Nessun commento

15 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2014-02-05T11:47:15+00:00

    Ciao Mauro Grazie per l'aiuto,

    ho fatto come hai detto, ho incollato la prima stringa codice sul worksheet della tabella pivot, sono uscita e ho azionato il filtro. Purtroppo però l'are di stampa non si modifica correttamente (non riesco ad allegare l'immagine).

     

    Anche con la seconda stringa codice l'area di stampa si crea solo su una delle celle e non su tutta la tabella.

    Ho forse sbagliato qualcosa?

     

    Grazie ancora.

    Ciao Marisa,

    integrandomi nella segnalazione di Mauro, ti suggerisco di utilizzare la seguente per ottenere il range dell'intera tabella pivot campi pagina esclusi:

    Private Sub Worksheet_Change(ByVal Target As Range)

        Me.PageSetup.PrintArea =  ActiveSheet.PivotTables("IndicaQuiIlNomeDEllaTuaTabellaPivot").TableRange1.Address

    End Sub

    mentre quest'altra per includere anche i campi pagina:

    Private Sub Worksheet_Change(ByVal Target As Range)

        Me.PageSetup.PrintArea =  ActiveSheet.PivotTables("IndicaQuiIlNomeDEllaTuaTabellaPivot").TableRange2.Address

    End Sub

    Andrea.

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2014-02-05T11:01:42+00:00

    Ciao Mauro Grazie per l'aiuto,

    ho fatto come hai detto, ho incollato la prima stringa codice sul worksheet della tabella pivot, sono uscita e ho azionato il filtro. Purtroppo però l'are di stampa non si modifica correttamente (non riesco ad allegare l'immagine).

    Anche con la seconda stringa codice l'area di stampa si crea solo su una delle celle e non su tutta la tabella.

    Ho forse sbagliato qualcosa?

    Grazie ancora.

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2014-02-05T09:54:01+00:00

    Ciao a tutti

    utilizzo le tabelle PVT per la gestione delle vendite (1600 righi per 91 colonne).

    L'area della tabella PVT varia a secondo del dato filtrato sull'"etichetta di riga" e tutte le volte, per poter stampare la tabella, sono costretta ad impostare nuovamente l'area di stampa. Volevo chiedervi se potevate indicarmi un metodo per far si chee l'area di stampa si modifichi automaticamente.

     

    Grazie per il vostro aiuto

     

    Copia/incolla questo nel modulo di codice del foglio dove hai la tabella pivot:

    Private Sub Worksheet_Change(ByVal Target As Range)

        Me.PageSetup.PrintArea = Me.Cells.SpecialCells(xlCellTypeConstants).Address

    End Sub

    Oppure, se non vuoi la riga del filtro:

    Private Sub Worksheet_Change(ByVal Target As Range)

        Me.PageSetup.PrintArea = Split( _

            Me.Cells.SpecialCells(xlCellTypeConstants).Address, ",")(1)

    End Sub

    Se non hai mai utilizzato il vb di Excel, vedi qui:

    La risposta è stata utile?

    0 commenti Nessun commento