Condividi:        

[Excel 2013] lo so che siete tutti in ferie, ma....

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

[Excel 2013] lo so che siete tutti in ferie, ma....

Postdi fastbike73 » 07/08/14 14:27

Salve a tutto il forum,
so perfettamente che al 7 di agosto nessuno si mette a correggere
gli errori degli altri o a cercare di risolvere il problema nei "lavori" degli altri,
io comunque getto lo stesso questo S.O.S.:

Codice: Seleziona tutto
Private Sub Worksheet_Activate()
    Range("A1").Select
    ActiveSheet.PivotTables("Tabella_pivot1").PivotCache.Refresh
    MsgBox "E' stato effettuato l'aggiornamento dei dati della pivot", vbInformation
End Sub


E' possibile far si che il messaggio appaia soltanto la prima volta che si entra nel
foglio, dopo l'aggiornamento dei dati? Per intenderci, lancio l'aggiornamento dei dati
presenti su un altro foglio, da cui la tabella pivot ha origine, appena entro la prima volta
nel foglio in cui ho la tabella pivot deve apparire il msg, se esco e poi rientro non deve apparire
più il msg.... E' possibile??

S.o.S. lanciato... uomo in "mare".... :D :undecided:
fastbike73
Win 10 & Office365
Filemaker Pro v. 13
fastbike73
Utente Senior
 
Post: 256
Iscritto il: 23/04/14 10:54

Sponsor
 

Re: [Excel 2013] lo so che siete tutti in ferie, ma....

Postdi alfrimpa » 07/08/14 15:14

Non sono un esperto ma a mio avviso il problema risiede nell'evento Activate dell'oggetto Worksheet.

Il codice viene eseguito ogni qualvolta il foglio in questione diventa attivo.

Dovresti provare a cambiare evento.

Alfredo
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: [Excel 2013] lo so che siete tutti in ferie, ma....

Postdi fastbike73 » 07/08/14 15:46

alfrimpa ha scritto:Non sono un esperto ma a mio avviso il problema risiede nell'evento Activate dell'oggetto Worksheet.

Il codice viene eseguito ogni qualvolta il foglio in questione diventa attivo.

Dovresti provare a cambiare evento.

Alfredo


Alfredo buonasera, ti ringrazio per l'intervento. ma siamo al punto di partenza.. io non sono un programmatore ma un utilizzatore
quindi la tua osservazione, seppur certamente giusta, mi trova impreparato....
Grazie lo stesso.
fastbike73
Win 10 & Office365
Filemaker Pro v. 13
fastbike73
Utente Senior
 
Post: 256
Iscritto il: 23/04/14 10:54

Re: [Excel 2013] lo so che siete tutti in ferie, ma....

Postdi alfrimpa » 07/08/14 16:25

Ciao Fastbike

Neanch'io sono programmatore ma semplice appassionato. Potresti utilizzare l'evento Change (che si verifica quando modifichi il foglio) oppure SelectionChange (che si verifica quando sposti il cursore sul foglio); oppure anche altri ma non so quale può essere il più adatto a te.

Ma perchè non associ la macro, anzichè ad un evento, ad un pulsante posto sul foglio di lavoro oppure sulla barra dei comandi? Potrebbe essere la soluzione più semplice.

Avessi ancora bisogno, nel mio piccolo, sono a disposizione.

Alfredo

P.s. Ho visto ora che sull'altro forum ti hanno risposto e credo in maniera risolutiva.
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: [Excel 2013] lo so che siete tutti in ferie, ma....

Postdi Anthony47 » 12/08/14 01:18

E' possibile far si che il messaggio appaia soltanto la prima volta che si entra nel
foglio, dopo l'aggiornamento dei dati? Per intenderci, lancio l'aggiornamento dei dati
presenti su un altro foglio, da cui la tabella pivot ha origine etc etc

Mi pare di capire che hai gia' una soluzione; in ritardo, il mio suggerimento e' che la procedura di "aggiornamento dei dati presenti su altro foglio" azzeri una cella di appoggio sul foglio della tabella pivot, esempio Z1, con l' istruzione:
Codice: Seleziona tutto
Sheets("IlNomeDelFoglio").Range("Z1").ClearContents


Poi modifichi la tua macro inserendo
Codice: Seleziona tutto
Private Sub Worksheet_Activate()
'Aggiungere queste due linee:
    If Range("Z1").Value <> "" then Exit Sub
    Range("Z1").Value= "Updated"
    Range("A1").Select                      'ESISTENTE
'etc etc


S.o.S. lanciato... uomo in "mare"....
Noi vecchi aviatori rimaniamo insensibili a questi alti lai...

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

Re: [Excel 2013] lo so che siete tutti in ferie, ma....

Postdi fastbike73 » 19/08/14 07:51

Anthony, scusa il ritardo nello rispondere ma quest'anno sono riuscito a prendere una settimana di ferie e ne ho approfittato. Lontano da pc, telefoni e televisioni. Ti ringrazio quindi tardivamente del tuo aiuto prezioso. Eseguite le modifiche funziona tutto alla perfezione. Nuovamente grazie.... del salvataggio!!!
fastbike73
Win 10 & Office365
Filemaker Pro v. 13
fastbike73
Utente Senior
 
Post: 256
Iscritto il: 23/04/14 10:54

Re: [Excel 2013] lo so che siete tutti in ferie, ma....

Postdi Zer0Kelvin » 19/08/14 11:46

Ciao.
Solo per pignoleria: visto che siamo già in vba, sarebbe più "elegante" risolvere il tutto senza andare a "sporcare" il foglio

Codice: Seleziona tutto
Dim eseguito As Boolean

Private Sub Worksheet_Activate()
   If Not eseguito Then
      eseguito = True
      Range("A1").Select
      ActiveSheet.PivotTables("Tabella_pivot1").PivotCache.Refresh
      MsgBox "E' stato effettuato l'aggiornamento dei dati della pivot", vbInformation
   End If
End Sub
[Win7,Office2010]
Condividere la conoscenza aumenta la ricchezza di tutti(Z0°K)
Dai ad un uomo un pesce e lo avrai sfamato per un giorno;insegnagli a pescare e lo avrai sfamato per sempre(Confucio)
Il sonno della ragione genera mostri(Francisco Goya)
Avatar utente
Zer0Kelvin
Utente Senior
 
Post: 388
Iscritto il: 08/04/12 11:23


Torna a Applicazioni Office Windows


Topic correlati a "[Excel 2013] lo so che siete tutti in ferie, ma....":


Chi c’è in linea

Visitano il forum: Nessuno e 68 ospiti