Condividi:        

Excel 2013

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

Postdi montix » 16/11/15 13:38

Ciao a tutti, vorrei creare una macro in excel che mi apra un msgbox che mi segnala se non ho aperto il file negli ultimi tre giorni
Ho fatto un po' di prove ma non ne vendo fuori (sicuramente per mi ignoranza)


Ho creato una variabile
Public miadata as Date

POi:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
miadata = Date
End Sub


dove associo alla variabile la data odierna


Poi :
Private Sub Workbook_Open()
If miadata < (Date - 3) Then
MsgBox "Attenzione devi aprire più frequentemente questo strumento di lavoro", vbOKOnly
End If
End Sub


aiuto dove sbaglio??
Provando a scrivere
Msgbox miadata

excel pare non memorizzare la variabile

grazie in anticipo
montix
Newbie
 
Post: 6
Iscritto il: 23/09/15 11:06

Sponsor
 

Re: Excel 2013

Postdi alfrimpa » 16/11/15 14:09

Ciao Montix

Non credo che chiudendo il file le variabili vengano mantenute.

Perché, anziché memorizzarlo in una variabile, non metti il Date in una cella?
Alfredo

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

Re: Excel 2013

Postdi montix » 16/11/15 14:41

grazie mille, mi sembrava più elegante usare una variabile.
grazie
mille
montix
Newbie
 
Post: 6
Iscritto il: 23/09/15 11:06

Re: Excel 2013

Postdi Anthony47 » 16/11/15 15:32

Ampliando quanto espresso e suggerito da Alfredo:
Le variabili vba "vivono" fintanto che la macro e' in esecuzione; al massimo fintanto che la sessione vba e' attiva...
Crea sul foglio "APiacere" del tuo file un intervallo che chiami "miadata", poi usa il vba per scrivere e leggere in quella cella:
Codice: Seleziona tutto
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Sheets("APiacere").Range("miadata").Value = Date
End Sub

E analogamente nella Workbook_Open userai
Codice: Seleziona tutto
If Sheets("APiacere").Range("miadata").Value < (Date -3) then


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


Torna a Applicazioni Office Windows


Topic correlati a "Excel 2013":


Chi c’è in linea

Visitano il forum: Nessuno e 38 ospiti