Condividi:        

Matrice per totale giornaliero per data

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

Re: Matrice per totale giornaliero per data

Postdi Anthony47 » 04/03/18 00:33

Immagino che parli di fogli che si aggiungono per l'uso di DayRIEP.
Ma quali son i punti fermi su cui costruire?

Supponiamo che il foglio da cui si costruisce il nuovo DayRIEP si chiami sempre EsportazioneCompetenze_63653514
Allora puoi usare una macro di Worksheet_Activate da inserire sul foglio della pivot:
-tasto dx sul tab col nome del foglio contenente la pivot; scegli Visualizza codice
-copia questo codice e inseriscilo nella finestra vba che cosi' si apre:
Codice: Seleziona tutto
Private Sub Worksheet_Activate()
Dim tSheet As String
'
tSheet = Sheets(Sheets("EsportazioneCompetenze_63653514").Index + 1).Name
    ActiveSheet.PivotTables(1).ChangePivotCache ActiveWorkbook. _
        PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
        tSheet & "!R1C1:R1000C3", Version:=xlPivotTableVersion14)
ActiveSheet.PivotTables(1).PivotCache.Refresh
'
End Sub

In questo modo tutte le volte che accedi al foglio TabellaPivot l'origine dati viene posizionata sul foglio alla destra di EsportazioneCompetenze_63653514

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Sponsor
 

Re: Matrice per totale giornaliero per data

Postdi danibi60 » 05/03/18 09:45

Ciao Anthony,

ora provo a copiare nel foglio pivot quanto da te suggerito e Ti faccio sapere.

Grazie infinite,

Daniby
"Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."
Win 10 & Office365 Premium
danibi60
Utente Senior
 
Post: 489
Iscritto il: 11/07/13 09:21
Località: Bergamo

Re: Matrice per totale giornaliero per data

Postdi danibi60 » 05/03/18 11:30

Ciao Anthony

Ho copiato la macro così come mi hai indicato, ho prodotto un nuovo foglio di lavoro attraverso la DayRIEP grazie alle'trazione dal gestionale di oggi, ma purtroppo la macro mi evidenzia un errore e non aggiorna la pivot

Purtroppo non so correggere una macro e quindi mi devo ancora affidare a te

Ti allego il file

https://www.dropbox.com/s/drnli1xzphb4s ... .xlsm?dl=0

Daniby
"Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."
Win 10 & Office365 Premium
danibi60
Utente Senior
 
Post: 489
Iscritto il: 11/07/13 09:21
Località: Bergamo

Re: Matrice per totale giornaliero per data

Postdi danibi60 » 05/03/18 11:30

Ciao Anthony

Ho copiato la macro così come mi hai indicato, ho prodotto un nuovo foglio di lavoro attraverso la DayRIEP grazie alle'trazione dal gestionale di oggi, ma purtroppo la macro mi evidenzia un errore e non aggiorna la pivot

Purtroppo non so correggere una macro e quindi mi devo ancora affidare a te

Ti allego il file

https://www.dropbox.com/s/drnli1xzphb4s ... .xlsm?dl=0

Daniby
"Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."
Win 10 & Office365 Premium
danibi60
Utente Senior
 
Post: 489
Iscritto il: 11/07/13 09:21
Località: Bergamo

Re: Matrice per totale giornaliero per data

Postdi Anthony47 » 05/03/18 13:26

Io non ho nessun errore e la pivot mi sembra regolare...
Che errore hai e che cosa non ti quadra?
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Matrice per totale giornaliero per data

Postdi danibi60 » 06/03/18 11:25

Allego i due screenshot che evidenziano sia il tipo di errore, sia la debug con evidenziato lo stesso.

https://www.dropbox.com/s/582euye970ons ... 3.png?dl=0

https://www.dropbox.com/s/jovxz4nekg4es ... 3.png?dl=0

La tabella pivot nel file non si aggiorna con la macro da te inviatami (vedi sotto)

CODICE: SELEZIONA TUTTO
Private Sub Worksheet_Activate()
Dim tSheet As String
'
tSheet = Sheets(Sheets("EsportazioneCompetenze_63653514").Index + 1).Name
ActiveSheet.PivotTables(1).ChangePivotCache ActiveWorkbook. _
PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
tSheet & "!R1C1:R1000C3", Version:=xlPivotTableVersion14)
ActiveSheet.PivotTables(1).PivotCache.Refresh
'
End Sub


dovrebbe invece aggiornarsi grazie al foglio1 mentre invece rimane ancora ancorata al foglio 5.

Spero d'esser stato chiaro

Attendo Tue,
Daniby
"Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."
Win 10 & Office365 Premium
danibi60
Utente Senior
 
Post: 489
Iscritto il: 11/07/13 09:21
Località: Bergamo

Re: Matrice per totale giornaliero per data

Postdi danibi60 » 06/03/18 12:11

Ciao Anthony, una domanda banale relativamente alla macro di cui sopra:

La macro aggiorna la pivot agganciandosi al foglio alla destra della matrice (vedi Tue indicazioni sotto):

"In questo modo tutte le volte che accedi al foglio TabellaPivot l'origine dati viene posizionata sul foglio alla destra di EsportazioneCompetenze_63653514"

Di conseguenza qualsiasi sia il numero del foglio non importa, l'importante è che sia quella alla dx di "EsportazioneCompetenze_63653514" giusto?

Grazie,

Daniby
"Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."
Win 10 & Office365 Premium
danibi60
Utente Senior
 
Post: 489
Iscritto il: 11/07/13 09:21
Località: Bergamo

Re: Matrice per totale giornaliero per data

Postdi Anthony47 » 06/03/18 15:19

Vedo che usi Office 2007; quindi sostituisci xlPivotTableVersion14 con xlPivotTableVersion12

Mi pare che chiedi conferma di una cosa che hai gia' capito: la macro cambia l'intervallo dei dati origine della PivotTable associandoli al foglio che in quel momento e' il primo a destra del foglio EsportazioneCompetenze_63653514. Questa e' infatti la posizione in cui DayRIEP posiziona il nuovo riepilogo che viene creato.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Matrice per totale giornaliero per data

Postdi danibi60 » 09/03/18 12:19

Ciao Anthony,

non so davvero come ringraziarti per lo splendido lavoro che hai fatto: D A V V E R O !, il supporto, la precisione dei dati ottenuti e la rapidità ottenute in un modo pazzesco. (sono in debito)

Ti scoccio ancora per una situazione nuova che a mia insaputa si è presentata e che non avevo previsto.

Potrebbe capitare che il file del gestionale oltre che manifestare modifiche agli importi o la scomparsa di una spedizione (perfettamente rilevabili dalla tua DayCompare), proponga in una data precedente una nuova spedizione come nel file che ti allego) es.: spedizione del 01.03 n° 023-105470 aggiunta (vedi tabella pivot in data 01-03)

Questa spedizione mi compare perfettamente sia nell'ultimo foglio creato (foglio7) sia come valore progressivo nella pivot ma quando ho lanciato la DayCompare non me l'ha evidenziata come "nuova"... io me ne sono accorto solo perché ero a conoscenza della cosa, ma da nessuna parte mi è stata evidenziata,infatti in nessuno dei precedenti fogli compare

Ti allego il file affinché tu possa vedere meglio ciò che ho scritto.

https://www.dropbox.com/s/drnli1xzphb4s ... .xlsm?dl=0

Un sincero grazie di cuore,

Daniby
"Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."
Win 10 & Office365 Premium
danibi60
Utente Senior
 
Post: 489
Iscritto il: 11/07/13 09:21
Località: Bergamo

Re: Matrice per totale giornaliero per data

Postdi Anthony47 » 09/03/18 15:34

C'e' un equivoco che non sto a indagare quando e perche' e' nato...

La DayCompare assume che il foglio attivo sia l'ultima estrazione ottenuta con DayRIEP e alla sua sinistra ci sia il foglio dell'estrazione precedente.
In realta' il foglio dell'estrazione precedente si trova "alla destra dell'ultima estrazione"; quindi nella DayCompare vanno modificate due istruzioni che devono puntare al "foglio +1" (invece che "foglio-1").
Come segue:
Codice: Seleziona tutto
''LastY = Sheets(ActiveSheet.Index - 1).Cells(Rows.Count, 1).End(xlUp).Row
LastY = Sheets(ActiveSheet.Index + 1).Cells(Rows.Count, 1).End(xlUp).Row   '+++
LasTd = Cells(Rows.Count, 1).End(xlUp).Row
'
''Set yRan = Sheets(ActiveSheet.Index - 1).Range("A1").Resize(LastY, 1)
Set yRan = Sheets(ActiveSheet.Index + 1).Range("A1").Resize(LastY, 1)   '+++


Le istruzioni precedute da doppi apice possono essere tolte e quella marcate con +++ solo le loro sostituzioni.

Il comportamento sara' come avevo annunciato:
-Se quella spedizione il giorno prima ha una valorizzazione diversa la vecchia valorizzazione sara' riportata in colonna E
-Se quella spedizione il giorno prima non c'e', in colonna E verra' scritto Miss
-Eventuali codici trovati nel foglio precedente ma non presenti nel foglio attuale verranno accodati al contenuto del foglio attuale, nelle colonne E:G

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Matrice per totale giornaliero per data

Postdi danibi60 » 09/03/18 16:38

Scusa la mia ignoranza abominevole:

La macro che mi hai inviato va copiata così come è e se si dove ?

Inoltre che significa: Le istruzioni precedute da doppi apice possono essere tolte e quella marcate con +++ solo le loro sostituzioni.

Grazie,
Danilo
"Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."
Win 10 & Office365 Premium
danibi60
Utente Senior
 
Post: 489
Iscritto il: 11/07/13 09:21
Località: Bergamo

Re: Matrice per totale giornaliero per data

Postdi danibi60 » 09/03/18 16:48

Non considerare il mio ultimo messaggio, ora ho capito cosa devo fare...sorry!
Daniby
"Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."
Win 10 & Office365 Premium
danibi60
Utente Senior
 
Post: 489
Iscritto il: 11/07/13 09:21
Località: Bergamo

Re: Matrice per totale giornaliero per data

Postdi danibi60 » 16/03/18 09:00

Ciao Anthony, Ti confermo che il file, attraverso le macro che mi hai predisposto, funziona alla grande!!

Ti sono infinitamente grato!

Daniby,
"Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."
Win 10 & Office365 Premium
danibi60
Utente Senior
 
Post: 489
Iscritto il: 11/07/13 09:21
Località: Bergamo

Re: Matrice per totale giornaliero per data

Postdi danibi60 » 14/04/18 16:29

Ciao Anthopny, come stai?

In merito al file che grazie alle Tue macro ora funziona alla grande, volevo sapere se fosse possibile fare in modo che alla sua apertura si attivi immediatamente la macro.

Spesso mi scordo di "attivare il contenuto" e mi tocca ripartire da capo...

Ti riallego il file nel caso si debbano apportare delle modifiche, oppure indicami la strada per risolvere questo fastidioso problema.

https://www.dropbox.com/s/xwz5jnqptfuxq ... .xlsm?dl=0

Grazie,
daniby
"Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."
Win 10 & Office365 Premium
danibi60
Utente Senior
 
Post: 489
Iscritto il: 11/07/13 09:21
Località: Bergamo

Re: Matrice per totale giornaliero per data

Postdi Anthony47 » 14/04/18 18:37

In questa discussione abbiamo trattato vari argomenti, quindi non so di quale macro parli.
Se e' la DayRiep o la DayCompare allora devi inserire nel modulo vba Questa_Cartella-di-Lavoro /ThisWorkbook una macro di Workbook_Open che richiami quella macro; esempio:
Codice: Seleziona tutto
Private Sub Workbook_Open()
Call DayRiep
End Sub


Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Matrice per totale giornaliero per data

Postdi danibi60 » 15/04/18 14:25

Anthony, mi devi perdonare, ma come al solito mi sono spiegato male.

Quando apro il file excell (l'ultimo che ti ho allegato), mi compare questo:(vedi file)

https://www.dropbox.com/s/fji55at737vkl ... o.jpg?dl=0

E ogni volta devo abilitarlo altrimenti le macro non funzionano... volevo sapere se era possibile far si che ciò non accadesse e le macro fossero già abilitate quando apro il file...

Spero che questa volta la mia chiarezza sia di un livello sufficiente per farti comprendere il mio problema
Grazie,
Daniby
"Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."
Win 10 & Office365 Premium
danibi60
Utente Senior
 
Post: 489
Iscritto il: 11/07/13 09:21
Località: Bergamo

Re: Matrice per totale giornaliero per data

Postdi Anthony47 » 15/04/18 23:20

Si tratta di impostazioni di sicurezza sul tuo Excel; sposta il file nella tua cartella Documenti, oppure dichiara il percorso che usi come "Attendibile" in File /Opzioni /Centro protezione, Impostazioni centro protezione /Percorsi attendibili.

Per altre informazioni guarda anche qui: https://support.office.com/it-it/articl ... dba1a11b53

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Matrice per totale giornaliero per data

Postdi danibi60 » 19/07/18 11:45

Ciao Anthony, come stai?

è tutto il giorno che provo a lanciare l'aggiornamento del file (ctrl+a) ma mi presenta sempre il debug e non sono riuscito a trovare l'inghippo, mi puoi aiutare?
Vedi file allegato

https://www.dropbox.com/s/dwnkgplxqpbsa ... .xlsm?dl=0
"Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."
Win 10 & Office365 Premium
danibi60
Utente Senior
 
Post: 489
Iscritto il: 11/07/13 09:21
Località: Bergamo

Re: Matrice per totale giornaliero per data

Postdi danibi60 » 19/07/18 15:31

Anthony, NO PROBLEM! HO RISOLTO

Grazie comunque,
Danibi
"Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."
Win 10 & Office365 Premium
danibi60
Utente Senior
 
Post: 489
Iscritto il: 11/07/13 09:21
Località: Bergamo

Re: Matrice per totale giornaliero per data

Postdi Anthony47 » 19/07/18 20:49

Bravo. Comunque le colonne da sommare contenevano degli spazi. Se vuoi poter gestire questa situazione, modifica la riga cVal = cVal + Cells(I, "Q") + Cells(I, "V") + Cells(I, "W") + Cells(I, "X") + Cells(I, "Y") in
Codice: Seleziona tutto
            cVal = cVal + Cells(I, "Q") + Cells(I, "V") + Cells(I, "W") + Cells(I, "X") + ("0" & Cells(I, "Y"))

Magari applica la modifica che ho fatto alla colonna Y anche alle altre colonne interessate.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

PrecedenteProssimo

Torna a Applicazioni Office Windows


Topic correlati a "Matrice per totale giornaliero per data":


Chi c’è in linea

Visitano il forum: Nessuno e 76 ospiti