Risultati da 1 a 19 di 19

Discussione: Copia del contenuto e del formato di pivot e grafici pivot senza la tabella dati



  1. #1
    L'avatar di apriap
    Clicca e Apri
    Data Registrazione
    Jul 2016
    Località
    Roma
    Messaggi
    10
    Versione Office
    Excel 2010
    Likes ricevuti
    0
    Likes dati
    1

    Copia del contenuto e del formato di pivot e grafici pivot senza la tabella dati

    Buongiorno, spiego il mio problema: in una cartella ho un foglio "master" che contiene un consistente data base riguardante l'attività di alcune persone. In altri fogli mi è stato chiesto di generare delle pivot e un grafico pivot per ognuna delle persone interessate, quindi per ognuno c'è un foglio simile a quello che vi allego come esempio. Naturalmente, il mio esempio è stato del tutto anonimizzato e i dati sono fasulli, né c'è alcuna pivot funzionante, ma spero che renda l'idea. I contenuti del foglio non possono essere modificati, seguono precise richieste.
    Mensilmente, ogni foglio personale deve essere inviato al singolo collega per dargli evidenza delle sue performance, quindi dovrei copiare i vari fogli su duplicati che NON si portino dietro il DB (nessuno deve vedere i dati degli altri), ma solo i dati e i formati per la pivot e per il grafico.
    Ho diverse macro che riescono a fare una parte del lavoro, ma manca sempre qualcosa: una non elimina i dati generali, l'altra si perde i formati...
    In pratica ogni volta perdo una vita per generare "artigianalmente" delle copie, i colleghi sono tanti, considerato che ho in dotazione un PC potente come un Commodore 64 è uno strazio... qualcuno mi può aiutare? Grazie a tutti.
    File Allegati File Allegati

  2. #2
    L'avatar di Marius44
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Catania
    Età
    73
    Messaggi
    3224
    Versione Office
    Excel2010
    Likes ricevuti
    628
    Likes dati
    155

    Re: Copia del contenuto e del formato di pivot e grafici pivot senza la tabella dati

    Ciao
    Se ho capito bene quello che vuoi potresti usare un copia/incolla dell'intero foglio avendo l'accortezza di "incollare" solo determinati riferimenti.
    La macro che ti allego (creata col registratore) innanzi tutto crea un foglio nuovo, copia il foglio2 e incolla determinati riferimenti (non formule, non grafico dinamico, ecc.). Potresti usarla, adattandola alle tue esigenze, per creare una nuova cartella con un foglio solo e su questo incollare i dati.
    Ecco la macro:
    Codice: 
    Sub Macro1()
    '
    ' Macro1 Macro
    ' crea duplicato
    '
    
    
    '
        Sheets.Add After:=Sheets(Sheets.Count)
        Sheets("Foglio2").Select
        Cells.Select
        Selection.Copy
        Sheets("Foglio3").Select
        Range("A1").Select
        Selection.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
            SkipBlanks:=False, Transpose:=False
        Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
            xlNone, SkipBlanks:=False, Transpose:=False
        Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
            SkipBlanks:=False, Transpose:=False
        Sheets("Foglio2").Select
        ActiveSheet.ChartObjects("Grafico 2").Activate
        ActiveSheet.ChartObjects("Grafico 2").Activate
        Application.CutCopyMode = False
        ActiveChart.ChartArea.Copy
        Sheets("Foglio3").Select
        Range("F22").Select
        ActiveSheet.PasteSpecial Format:="Bitmap", Link:=False, DisplayAsIcon:= _
            False
    End Sub
    Fai attenzione al nome che Excel utilizza quando crea il foglio.
    Fai sapere. Ciao,
    Mario

  3. #3
    L'avatar di apriap
    Clicca e Apri
    Data Registrazione
    Jul 2016
    Località
    Roma
    Messaggi
    10
    Versione Office
    Excel 2010
    Likes ricevuti
    0
    Likes dati
    1

    Re: Copia del contenuto e del formato di pivot e grafici pivot senza la tabella dati

    Citazione Originariamente Scritto da Marius44 Visualizza Messaggio
    Ciao
    Se ho capito bene quello che vuoi potresti usare un copia/incolla dell'intero foglio avendo l'accortezza di "incollare" solo determinati riferimenti.
    La macro che ti allego (creata col registratore) innanzi tutto crea un foglio nuovo, copia il foglio2 e incolla determinati riferimenti (non formule, non grafico dinamico, ecc.). Potresti usarla, adattandola alle tue esigenze, per creare una nuova cartella con un foglio solo e su questo incollare i dati.
    Ecco la macro:
    Codice: 
    Sub Macro1()
    '
    ' Macro1 Macro
    ' crea duplicato
    '
    
    
    '
        Sheets.Add After:=Sheets(Sheets.Count)
        Sheets("Foglio2").Select
        Cells.Select
        Selection.Copy
        Sheets("Foglio3").Select
        Range("A1").Select
        Selection.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
            SkipBlanks:=False, Transpose:=False
        Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
            xlNone, SkipBlanks:=False, Transpose:=False
        Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
            SkipBlanks:=False, Transpose:=False
        Sheets("Foglio2").Select
        ActiveSheet.ChartObjects("Grafico 2").Activate
        ActiveSheet.ChartObjects("Grafico 2").Activate
        Application.CutCopyMode = False
        ActiveChart.ChartArea.Copy
        Sheets("Foglio3").Select
        Range("F22").Select
        ActiveSheet.PasteSpecial Format:="Bitmap", Link:=False, DisplayAsIcon:= _
            False
    End Sub
    Fai attenzione al nome che Excel utilizza quando crea il foglio.
    Fai sapere. Ciao,
    Mario
    Grazie, Mario, ho provato subito, però c'è un doppio problema e perdonami fin da ora se il mio "navigare a vista" in VBA mi fa dire inesattezze. Da un lato (e sarebbe veniale) il foglio verrebbe duplicato all'interno della stessa cartella, richiedendo comunque un passo in più per salvarlo singolarmente. Dall'altro, la macro contiene troppi nomi, troppi riferimenti ad elementi che non sarebbero presenti nella mia cartella. L'ho provata su diverse cartelle, in una il debug ha contestato la riga "Sheets("Foglio3").Select" segnalando un errore di runtime 9, "indice non incluso nell'intervallo". In un'altra non ha trovato "Grafico 2" e così via. Dato che ogni foglio che devo esportare porta il nome del dipendente a cui si riferisce, andando ad intuito la cosa potrebbe risultare complicata! Quante sciocchezze ho detto? Grazie e ciao

  4. #4
    L'avatar di Marius44
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Catania
    Età
    73
    Messaggi
    3224
    Versione Office
    Excel2010
    Likes ricevuti
    628
    Likes dati
    155

    Re: Copia del contenuto e del formato di pivot e grafici pivot senza la tabella dati

    Ciao
    Da quanto scrivi immagino che il tuo livello di conoscenza di VBA non sia molto elevato e, pertanto, posso assicurarti che non ha i detto tante sciocchezze, solo qualcuna
    Se guardi il mio post precedente alla fine dicevo: Fai attenzione al nome che Excel utilizza quando crea il foglio.

    Ma questo problema è superabile dicendo ad Excel di assegnare un nome al foglio che crea (magari il nome del dipendente) e fare riferimento a questo nome per tutto il resto.

    Sempre nel post precedente dicevo: Potresti usarla, adattandola alle tue esigenze, per creare una nuova cartella con un foglio solo e su questo incollare i dati.

    Quindi bisognerebbe creare una cartella apposita dove salvare tutti i fogli che crei coi nomi dei dipendenti.
    L'unico vero problema che ravviso potrebbe essere il nome che Excel assegna al grafico da copiare e cioè
    ActiveSheet.ChartObjects("Grafico 2").Activate
    Ma anche questo potrebbe essere superato facendo "leggere" ad Excel il nome del grafico che sta per copiare ed assegnarlo a ChartObjects

    Se la cosa può interessarti, continuiamo.
    Ciao,
    Mario

  5. #5
    L'avatar di apriap
    Clicca e Apri
    Data Registrazione
    Jul 2016
    Località
    Roma
    Messaggi
    10
    Versione Office
    Excel 2010
    Likes ricevuti
    0
    Likes dati
    1

    Re: Copia del contenuto e del formato di pivot e grafici pivot senza la tabella dati

    Citazione Originariamente Scritto da Marius44 Visualizza Messaggio
    Ciao
    Da quanto scrivi immagino che il tuo livello di conoscenza di VBA non sia molto elevato e, pertanto, posso assicurarti che non ha i detto tante sciocchezze, solo qualcuna
    Se guardi il mio post precedente alla fine dicevo: Fai attenzione al nome che Excel utilizza quando crea il foglio.

    Ma questo problema è superabile dicendo ad Excel di assegnare un nome al foglio che crea (magari il nome del dipendente) e fare riferimento a questo nome per tutto il resto.

    Sempre nel post precedente dicevo: Potresti usarla, adattandola alle tue esigenze, per creare una nuova cartella con un foglio solo e su questo incollare i dati.

    Quindi bisognerebbe creare una cartella apposita dove salvare tutti i fogli che crei coi nomi dei dipendenti.
    L'unico vero problema che ravviso potrebbe essere il nome che Excel assegna al grafico da copiare e cioè
    ActiveSheet.ChartObjects("Grafico 2").Activate
    Ma anche questo potrebbe essere superato facendo "leggere" ad Excel il nome del grafico che sta per copiare ed assegnarlo a ChartObjects

    Se la cosa può interessarti, continuiamo.
    Ciao,
    Mario

    Ciò che al momento faccio a mano è proprio creare una cartella con un solo foglio per ogni dipendente, al quale verrà inviata via email.

    Il mio problema è proprio quel "dire ad Excel di.....", dato che la mia conoscenza di VBA, lo confermo, è brancolante e raccogliticcia, avrei bisogno di troppe indicazioni e, benché ti sia grata per la disponibilità, non avrei tempo e ne toglierei troppo a te, anche se mi piacerebbe davvero approfondire. Purtroppo, sto percorrendo questa strada fuori dalle mie mansioni da primate poco evoluto, sai com'è, non posso strafare.

    Piuttosto, se ne hai voglia, guarda questo misero codicino che sono riuscita a mettere insieme:

    Codice: 
    Sub Copiafoglio()
    ' Macro1 Copiafoglio
    ' Scelta rapida da tastiera: CTRL+r
    ActiveSheet.Select
    Selection.Copy
    Application.CommandBars("Office Clipboard").Visible = True
    Workbooks.Add
    Range("A1").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Application.CommandBars("Office Clipboard").Visible = False
    Cells.Select
    Cells.EntireColumn.AutoFit
    End Sub
    Incredibilmente funziona, salvo che per due cose:

    1) ho scoperto che se copi e incolli "alla burina" (ctr C / ctr V, per capirci), Excel si porta dietro tutto, se invece attivi la Clipboard e prelevi quanto hai copiato da lì si porta dietro solo dati e formato, niente database. Pare che sia un buchetto di Excel che mi farebbe assai comodo. Ma non riesco a dirgli di attingere alla clipboard, l'ActiveSheet.Paste esegue l'equivalente del "ctr V" e stiamo da capo.

    2) Vorrei anche che la clipboard si svuotasse, dopo aver copiato un dipendente. "Application.CutCopyMode = False" dovrebbe farlo, pare... Ma non funziona.

    Al tuo buon cuore, non ci perdere più tempo di tanto. Grazie mille in ogni caso.
    Alessandra
    Ultima modifica fatta da:ges; 20/07/16 alle 18:33 Motivo: Inserito codice nei Tag

  6. #6

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7183
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2067
    Likes dati
    1308

    Re: Copia del contenuto e del formato di pivot e grafici pivot senza la tabella dati

    Ciao Alessandra,
    il codice va inserito nei Tag (stavolta l'ho fatto io).
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

  7. #7
    L'avatar di Marius44
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Catania
    Età
    73
    Messaggi
    3224
    Versione Office
    Excel2010
    Likes ricevuti
    628
    Likes dati
    155

    Re: Copia del contenuto e del formato di pivot e grafici pivot senza la tabella dati

    Ciao Alessandra
    a me il tuo codice non funziona, non incolla nulla. Ma strimpellando fra il tuo codice ed il mio ho creato una macro (che se la vede un purista mi lincia in quanto è molto, ma molto migliorabile) che fa quello che chiedi. L'unica cosa che non fa è salvare il foglio creato con un nome adatto (vedasi ultima riga della macro). A questo devi pensare tu.
    Ecco il codice:
    Codice: 
    Sub Macro1() 'by Marius
    Dim n As Integer, x As String
    
    
        'seleziona l'intero foglio e lo copia
        Cells.Select
        Selection.Copy
        
        'aggiunge una cartella e incolla nel Foglio1 i dati copiati
        Workbooks.Add
        Sheets("Foglio1").Select
        Range("A1").Select
        Selection.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
            SkipBlanks:=False, Transpose:=False
        Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
            xlNone, SkipBlanks:=False, Transpose:=False
        Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
            SkipBlanks:=False, Transpose:=False
        
        'riattiva il Foglio da cui copiare il Grafico
        Workbooks(1).Activate
        Workbooks(1).Sheets("Foglio2").Select
        
        'ciclo per assumere il nome del grafico
        x = ActiveSheet.Shapes.Count
        For n = 1 To x
            nome = ActiveSheet.Shapes(n).Name
            If Left(nome, 7) = "Grafico" Then Exit For
        Next
        
        'attiva il grafico e lo copia
        ActiveSheet.ChartObjects(nome).Activate
        Application.CutCopyMode = False
        ActiveChart.ChartArea.Copy
        
        'attiva il nuovo foglio creato e incolla il grafico
        Workbooks(Workbooks.Count).Activate
        Workbooks(Workbooks.Count).Sheets("Foglio1").Select
        Range("F22").Select
        ActiveSheet.PasteSpecial
        
        'salva con nome il foglio creato
        
    End Sub
    Il codice è commentato vedere cosa sta facendo passo dopo passo (al caso puoi mettere uno stop e così renderti meglio conto di come procede).
    Ho aggiunto un pulsante a cui è collegata la macro. Cliccaci pure sopra.

    Come al solito, prova e fai sapere. Ciao,
    Mario

    PS - Dimenticavo di dirti che se il Foglio da cui copiare NON E' DENOMINATO FOGLIO2 la macro non funziona. Si può ovviare facendogli chiedere anche il nome del foglio.
    File Allegati File Allegati

  8. I seguenti utenti hanno dato un "Like"


  9. #8
    L'avatar di apriap
    Clicca e Apri
    Data Registrazione
    Jul 2016
    Località
    Roma
    Messaggi
    10
    Versione Office
    Excel 2010
    Likes ricevuti
    0
    Likes dati
    1

    Re: Copia del contenuto e del formato di pivot e grafici pivot senza la tabella dati

    Citazione Originariamente Scritto da ges Visualizza Messaggio
    Ciao Alessandra,
    il codice va inserito nei Tag (stavolta l'ho fatto io).
    Grazie e scusa!
    Buona giornata
    Ale

    ----------Post unito in automatico----------

    Scusa, Ges, sicuramente sbaglio qualcosa, ma non riesco a rispondere al post di Mario, la mia risposta si aggancia sempre a questo messaggio.
    Seleziono "rispondi citando", nella composizione della mia risposta vedo come è giusto il messaggio di Mario, invio la risposta e... si aggancia alle mie scuse per non aver taggato il codice. Dove sbaglio?

    Grazie e ciao

  10. #9

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7183
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2067
    Likes dati
    1308

    Re: Copia del contenuto e del formato di pivot e grafici pivot senza la tabella dati

    Non sbagli Ale,
    è un'impostazione del forum che se scrivi più messaggi di seguito unisce i post in automatico.
    Prova a citarlo dopo questo mio post.
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

  11. #10
    L'avatar di apriap
    Clicca e Apri
    Data Registrazione
    Jul 2016
    Località
    Roma
    Messaggi
    10
    Versione Office
    Excel 2010
    Likes ricevuti
    0
    Likes dati
    1

    Re: Copia del contenuto e del formato di pivot e grafici pivot senza la tabella dati

    Grazie, meno male, già non sono una volpe in VBA, la mia autostima stava precipitando....


    MARIOOOO, questa mia risposta è per te! Grazie davvero, ho provato appena ho potuto, eseguendo la tua macro riga per riga per vederne il funzionamento (ottima lezione di VBA, fra l'altro!).

    Ti dico cosa non va:

    - il foglio da copiare non si chiamerà mai "foglio2", perché porta il nome del dipendente da elaborare. E non ho la minima idea di come si possa "chiedere il nome del foglio".... ahi, l'ignoranza!

    - la seconda cosa è forse più difficile da sistemare, le pivot vengono correttamente esportate senza la tabella (ed è super-OK), ma anche senza il formato. E so già che "nude e crude" il mio capo non le accetta. In passato ero riuscita ad automatizzare la faccenda, sempre con una macro da dilettante, ma il risultato mi è stato rifiutato per ragioni "estetiche". Si può fare qualcosa?

    Buona giornata, conserverò in ogni caso la tua macro per studiarmela bene.
    Ale

    ----------Post unito in automatico----------

    Citazione Originariamente Scritto da Marius44 Visualizza Messaggio
    Ciao Alessandra
    a me il tuo codice non funziona, non incolla nulla. Ma strimpellando fra il tuo codice ed il mio ho creato una macro (che se la vede un purista mi lincia in quanto è molto, ma molto migliorabile) che fa quello che chiedi. L'unica cosa che non fa è salvare il foglio creato con un nome adatto (vedasi ultima riga della macro). A questo devi pensare tu.
    Ecco il codice:
    Codice: 
    Sub Macro1() 'by Marius
    Dim n As Integer, x As String
    
    
        'seleziona l'intero foglio e lo copia
        Cells.Select
        Selection.Copy
        
        'aggiunge una cartella e incolla nel Foglio1 i dati copiati
        Workbooks.Add
        Sheets("Foglio1").Select
        Range("A1").Select
        Selection.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
            SkipBlanks:=False, Transpose:=False
        Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
            xlNone, SkipBlanks:=False, Transpose:=False
        Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
            SkipBlanks:=False, Transpose:=False
        
        'riattiva il Foglio da cui copiare il Grafico
        Workbooks(1).Activate
        Workbooks(1).Sheets("Foglio2").Select
        
        'ciclo per assumere il nome del grafico
        x = ActiveSheet.Shapes.Count
        For n = 1 To x
            nome = ActiveSheet.Shapes(n).Name
            If Left(nome, 7) = "Grafico" Then Exit For
        Next
        
        'attiva il grafico e lo copia
        ActiveSheet.ChartObjects(nome).Activate
        Application.CutCopyMode = False
        ActiveChart.ChartArea.Copy
        
        'attiva il nuovo foglio creato e incolla il grafico
        Workbooks(Workbooks.Count).Activate
        Workbooks(Workbooks.Count).Sheets("Foglio1").Select
        Range("F22").Select
        ActiveSheet.PasteSpecial
        
        'salva con nome il foglio creato
        
    End Sub
    Il codice è commentato vedere cosa sta facendo passo dopo passo (al caso puoi mettere uno stop e così renderti meglio conto di come procede).
    Ho aggiunto un pulsante a cui è collegata la macro. Cliccaci pure sopra.

    Come al solito, prova e fai sapere. Ciao,
    Mario

    PS - Dimenticavo di dirti che se il Foglio da cui copiare NON E' DENOMINATO FOGLIO2 la macro non funziona. Si può ovviare facendogli chiedere anche il nome del foglio.
    Ciao, Marius, spero che tu veda la mia replica, che non riesco ad agganciare al tuo post. Un saluto e alla prossima.

  12. #11
    L'avatar di apriap
    Clicca e Apri
    Data Registrazione
    Jul 2016
    Località
    Roma
    Messaggi
    10
    Versione Office
    Excel 2010
    Likes ricevuti
    0
    Likes dati
    1

    Re: Copia del contenuto e del formato di pivot e grafici pivot senza la tabella dati

    Buongiorno, un aggiornamento: sono riuscita a modificare il codice di Marius perché acquisisca il nome del worksheet corrente e funziona.
    Adesso il codice è fantastico, salvo per il formato delle pivot (almeno il colore di sfondo delle celle) che non viene copiato nel nuovo foglio. Teoricamente Paste:=xlPasteFormats dovrebbe farlo, ma temo che non funzioni con le pivot. Qualche suggerimento? Manca solo questo perché la mia macro sia perfetta! Grazie
    Ale

  13. #12
    L'avatar di Marius44
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Catania
    Età
    73
    Messaggi
    3224
    Versione Office
    Excel2010
    Likes ricevuti
    628
    Likes dati
    155

    Re: Copia del contenuto e del formato di pivot e grafici pivot senza la tabella dati

    Ciao Alessandra
    son rientrato adesso ed ho letto i tuoi messaggi. Visto che uno è risolto passiamo all' "irrisolto"
    Cosa intendi quando dici "salvo per il formato delle pivot (almeno il colore di sfondo delle celle) che non viene copiato nel nuovo foglio. Teoricamente Paste:=xlPasteFormats dovrebbe farlo"
    ed in effetti lo fa. Nella copia che hai allegato le celle colorate sono le seguenti: A1:B1, G1:H1, A3:C3, G3:I3, G11:I11, G15:H15, G17:H17, A20:C20 e G20:H20 e sono esattamente quelle che riporta nel nuovo foglio.

    Prova a spiegare meglio oppure allega un'immagine.
    Ciao,
    Mario

  14. #13
    L'avatar di apriap
    Clicca e Apri
    Data Registrazione
    Jul 2016
    Località
    Roma
    Messaggi
    10
    Versione Office
    Excel 2010
    Likes ricevuti
    0
    Likes dati
    1

    Re: Copia del contenuto e del formato di pivot e grafici pivot senza la tabella dati

    Citazione Originariamente Scritto da Marius44 Visualizza Messaggio
    Ciao Alessandra
    son rientrato adesso ed ho letto i tuoi messaggi. Visto che uno è risolto passiamo all' "irrisolto"
    Cosa intendi quando dici "salvo per il formato delle pivot (almeno il colore di sfondo delle celle) che non viene copiato nel nuovo foglio. Teoricamente Paste:=xlPasteFormats dovrebbe farlo"
    ed in effetti lo fa. Nella copia che hai allegato le celle colorate sono le seguenti: A1:B1, G1:H1, A3:C3, G3:I3, G11:I11, G15:H15, G17:H17, A20:C20 e G20:H20 e sono esattamente quelle che riporta nel nuovo foglio.

    Prova a spiegare meglio oppure allega un'immagine.
    Ciao,
    Mario
    Scusami, anche io riesco a riprendere il discorso solo adesso. Ho rieseguito la macro, ma sembra che anche il riconoscimento del nome del foglio corrente non funzioni più (errore "variabile oggetto o variabile del blocco with non impostata")... Mi sto avvilendo, ieri andava una meraviglia. In merito alla tua domanda, le celle di cui vorrei fosse trasferito il formato sono esattamente quelle che indichi tu, cioè quelle del layout delle pivot. Quando il foglio viene copiato, tuttavia, i dati sono riportati senza sfondi, grassetti, etc.. Il foglio di destinazione, insomma, è corretto ma "sobrio"!
    Ti allego la macro com'è adesso con le mie maldestre modifiche, nel file c'è una piccola shot con parte del risultato della copia sformattata. Buona serata.
    File Allegati File Allegati

  15. #14
    L'avatar di Marius44
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Catania
    Età
    73
    Messaggi
    3224
    Versione Office
    Excel2010
    Likes ricevuti
    628
    Likes dati
    155

    Re: Copia del contenuto e del formato di pivot e grafici pivot senza la tabella dati

    Ciao Alessandra
    andiamo con ordine.

    Aggiungi all'inizio della macro, dopo la prima riga che inizia con Dim, queste due altre righe di codice:
    Codice: 
    Dim fg As String
    fg = ActiveSheet.Name
    Metti un pulsante (o una forma, come ho fatto io) in ogni foglio che devi copia/incollare ed associalo alla macro.

    Dovrebbe funzionare sia il riconoscimento del nome del foglio sia la formattazione.
    Ripeto, a me funziona benissimo.

    Fai sapere. Ciao,
    Mario

  16. #15
    L'avatar di apriap
    Clicca e Apri
    Data Registrazione
    Jul 2016
    Località
    Roma
    Messaggi
    10
    Versione Office
    Excel 2010
    Likes ricevuti
    0
    Likes dati
    1

    Re: Copia del contenuto e del formato di pivot e grafici pivot senza la tabella dati

    Citazione Originariamente Scritto da Marius44 Visualizza Messaggio
    Ciao Alessandra
    andiamo con ordine.

    Aggiungi all'inizio della macro, dopo la prima riga che inizia con Dim, queste due altre righe di codice:
    Codice: 
    Dim fg As String
    fg = ActiveSheet.Name
    Metti un pulsante (o una forma, come ho fatto io) in ogni foglio che devi copia/incollare ed associalo alla macro.

    Dovrebbe funzionare sia il riconoscimento del nome del foglio sia la formattazione.
    Ripeto, a me funziona benissimo.

    Fai sapere. Ciao,
    Mario
    Grazie, Mario, hai molta pazienza, tardo a rispondere perché a casa non ho Office 2010 e non potrei fare prove. Ho appena corretto la macro e l'identificazione del foglio sembra funzionare di nuovo. Quanto al formato, ti mando una shot del risultato (scusami, è "anonimizzata" in modo davvero rozzo) per farti vedere che nessuno dei formati delle pivot di partenza si è replicato.
    Non posso inserire nei fogli pulsanti o forme, purtroppo uso la cartella solo io e la cosa non è gradita.

    Ciao!
    Alessandra
    File Allegati File Allegati
    • Tipo File: pdf Shot.pdf (197.7 KB, 3 Visualizzazioni)

  17. #16
    L'avatar di Marius44
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Catania
    Età
    73
    Messaggi
    3224
    Versione Office
    Excel2010
    Likes ricevuti
    628
    Likes dati
    155

    Re: Copia del contenuto e del formato di pivot e grafici pivot senza la tabella dati

    Ciao Alessandra
    non saprei proprio perchè ti fa quello scherzetto. Proviamo a "fregare" Excel

    Ho aggiunto alcune righe di codice. Ti riposto la macro con l'aggiunta (la parte fra i due Stop).

    Codice: 
    Sub Macro1()
    Dim n As Integer, x As String
        
    Dim fg As String
    fg = ActiveSheet.Name
        
        'seleziona l'intero foglio e lo copia
        Cells.Select
        Selection.Copy
        
        'aggiunge una cartella e incolla nel Foglio1 i dati copiati
        Workbooks.Add
        Sheets("Foglio1").Select
        Range("A1").Select
        Selection.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
            SkipBlanks:=False, Transpose:=False
        Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
            xlNone, SkipBlanks:=False, Transpose:=False
        Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
            SkipBlanks:=False, Transpose:=False
    Stop
        'font in grassetto e sfondo colorato
        Range("A1:B1,G1:H1,A3:C3,G3:I3,G11:I11,G15:H15,G17:H17,A20:C20,G20:H20").Select
        Selection.Font.Bold = True
        With Selection.Interior
            .Pattern = xlSolid
            .PatternThemeColor = xlThemeColorAccent1
            .ThemeColor = xlThemeColorAccent1
            .TintAndShade = 0.799981688894314
            .PatternTintAndShade = 0.799981688894314
        End With
    Stop
        
        'riattiva il Foglio da cui copiare il Grafico
        Workbooks(1).Activate
        Workbooks(1).Sheets("Foglio2").Select
        
        'ciclo per assumere il nome del grafico
        x = ActiveSheet.Shapes.Count
        For n = 1 To x
            nome = ActiveSheet.Shapes(n).Name
            If Left(nome, 7) = "Grafico" Then Exit For
        Next
        
        'attiva il grafico e lo copia
        ActiveSheet.ChartObjects(nome).Activate
        Application.CutCopyMode = False
        ActiveChart.ChartArea.Copy
        
        'attiva il nuovo foglio creato e incolla il grafico
        Workbooks(Workbooks.Count).Activate
        Workbooks(Workbooks.Count).Sheets("Foglio1").Select
        Range("F22").Select
        ActiveSheet.PasteSpecial
        
        'salva con nome il foglio creato
        
    End Sub
    Prova e fai sapere. Ciao,
    Mario

  18. #17
    L'avatar di apriap
    Clicca e Apri
    Data Registrazione
    Jul 2016
    Località
    Roma
    Messaggi
    10
    Versione Office
    Excel 2010
    Likes ricevuti
    0
    Likes dati
    1

    Re: Copia del contenuto e del formato di pivot e grafici pivot senza la tabella dati

    Citazione Originariamente Scritto da Marius44 Visualizza Messaggio
    Ciao Alessandra
    non saprei proprio perchè ti fa quello scherzetto. Proviamo a "fregare" Excel

    Ho aggiunto alcune righe di codice. Ti riposto la macro con l'aggiunta (la parte fra i due Stop).

    Codice: 
    Sub Macro1()
    Dim n As Integer, x As String
        
    Dim fg As String
    fg = ActiveSheet.Name
        
        'seleziona l'intero foglio e lo copia
        Cells.Select
        Selection.Copy
        
        'aggiunge una cartella e incolla nel Foglio1 i dati copiati
        Workbooks.Add
        Sheets("Foglio1").Select
        Range("A1").Select
        Selection.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
            SkipBlanks:=False, Transpose:=False
        Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
            xlNone, SkipBlanks:=False, Transpose:=False
        Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
            SkipBlanks:=False, Transpose:=False
    Stop
        'font in grassetto e sfondo colorato
        Range("A1:B1,G1:H1,A3:C3,G3:I3,G11:I11,G15:H15,G17:H17,A20:C20,G20:H20").Select
        Selection.Font.Bold = True
        With Selection.Interior
            .Pattern = xlSolid
            .PatternThemeColor = xlThemeColorAccent1
            .ThemeColor = xlThemeColorAccent1
            .TintAndShade = 0.799981688894314
            .PatternTintAndShade = 0.799981688894314
        End With
    Stop
        
        'riattiva il Foglio da cui copiare il Grafico
        Workbooks(1).Activate
        Workbooks(1).Sheets("Foglio2").Select
        
        'ciclo per assumere il nome del grafico
        x = ActiveSheet.Shapes.Count
        For n = 1 To x
            nome = ActiveSheet.Shapes(n).Name
            If Left(nome, 7) = "Grafico" Then Exit For
        Next
        
        'attiva il grafico e lo copia
        ActiveSheet.ChartObjects(nome).Activate
        Application.CutCopyMode = False
        ActiveChart.ChartArea.Copy
        
        'attiva il nuovo foglio creato e incolla il grafico
        Workbooks(Workbooks.Count).Activate
        Workbooks(Workbooks.Count).Sheets("Foglio1").Select
        Range("F22").Select
        ActiveSheet.PasteSpecial
        
        'salva con nome il foglio creato
        
    End Sub
    Prova e fai sapere. Ciao,
    Mario
    Sei un mito! Temo però che Excel abbia fregato noi... Quell'evidenziamento funziona solo sul foglio che sto usando come esempio. Altri colleghi generano pivot con un contenuto e una dimensione diversa, perché lavorano su più clienti, oppure seguono più progetti e applicazioni... morale, è impossibile dare le coordinate esatte delle celle da evidenziare. Se ti faccio vedere cosa è venuto fuori con il secondo collega! Strisce grigioline sparse a casaccio... divertente, comunque! Che dici, ci abbiamo provato e ci arrendiamo? Oppure cerchiamo di far funzionare quello che DOVREBBE funzionare? La macro sarebbe perfetta... Un saluto, buon pomeriggio

  19. #18
    L'avatar di Marius44
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Catania
    Età
    73
    Messaggi
    3224
    Versione Office
    Excel2010
    Likes ricevuti
    628
    Likes dati
    155

    Re: Copia del contenuto e del formato di pivot e grafici pivot senza la tabella dati

    Ciao Alessandra
    noto che tu hai la vers. 2010 ed io la 2007 di Excel- Non è che c'è differenza nella formattazione condizionale fra le due versioni?
    Io proprio non saprei. Forse qualche "amico" può darci una mano. Speriamo bene.
    Ciao,
    Mario

  20. #19
    L'avatar di apriap
    Clicca e Apri
    Data Registrazione
    Jul 2016
    Località
    Roma
    Messaggi
    10
    Versione Office
    Excel 2010
    Likes ricevuti
    0
    Likes dati
    1

    Re: Copia del contenuto e del formato di pivot e grafici pivot senza la tabella dati

    Citazione Originariamente Scritto da Marius44 Visualizza Messaggio
    Ciao Alessandra
    noto che tu hai la vers. 2010 ed io la 2007 di Excel- Non è che c'è differenza nella formattazione condizionale fra le due versioni?
    Io proprio non saprei. Forse qualche "amico" può darci una mano. Speriamo bene.
    Ciao,
    Mario
    E' possibile, senz'altro... lascio questa "conversazione" aperta, benché stia per andare in ferie e non possa seguirla, né provare eventuali suggerimenti perché non avrò a disposizione Office 2010. Se però qualcuno vorrà contribuire, il problema è ancora aperto e sarò felice di vedere qualche novità al mio ritorno. Ringrazio di cuore chi ha fornito suggerimenti e in particolare te, Marius, davvero paziente. Buona estate a tutti.

Discussioni Simili

  1. aggiornamento dati sorgenti tabella pivot
    Di Crotalo Rosa nel forum Domande su Excel in generale
    Risposte: 8
    Ultimo Messaggio: 13/02/17, 20:42
  2. Tabella PIVOT: riferimento a nome file nell'origine dati
    Di Domdef nel forum Domande su Excel in generale
    Risposte: 0
    Ultimo Messaggio: 04/12/16, 00:07
  3. sovrapporre due grafici da tabelle pivot distinte
    Di blofeld nel forum Domande sui Grafici di Excel
    Risposte: 30
    Ultimo Messaggio: 20/10/16, 09:56
  4. [Risolto] Aggiornamento dati da tabella Pivot
    Di march91 nel forum Domande su Excel in generale
    Risposte: 4
    Ultimo Messaggio: 07/10/16, 20:06
  5. Tabella Pivot
    Di joe22 nel forum Domande su Excel in generale
    Risposte: 22
    Ultimo Messaggio: 01/02/16, 10:15

Tag per Questa Discussione

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •