Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

[Excel 2010 & VBA] Timer su Form Attivo

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 2010 & VBA] Timer su Form Attivo

Postdi alex_lougher » 10/10/12 15:40

Salve ragazzi, sono qui perchè dopo due giorni di ricerche e vari scervellamenti ho deciso di ricorrere al forum per risolvere un problemino.
Sto utilizzando 4 Userform diciamo uguali nella forma per creare l'idea di unico programmino, ora su una di queste userform vorrei creare un timer che conti dalla prima apertura del file quanto tempo quella userform è stata Attiva. Usando le Funzione Timer sono riuscito a creare un cronometro dividendo il valore di Timer per 86400 (60*60*24), ma non so come farlo ripartire da quel punto nel caso l'utente chiuda il foglio e lo riapra il giorno dopo, o nel caso in cui l'utente cambi userform per fare una certa operazione.

Spero di Essere stato chiaro.


Grazie mille per l'aiutoooooo ;)
alex_lougher
Utente Junior
 
Post: 22
Iscritto il: 06/07/12 09:25

Sponsor
 

Re: [Excel 2010 & VBA] Timer su Form Attivo

Postdi Flash30005 » 11/10/12 00:33

1) il Timer conta i secondi di un giorno (24 ore) e si resetta alle 00:00 pertanto non è utilizzabile per conteggio secondi su più giorni
2) una userform non memorizza i dati (se chiudi il file) quindi devi evitare di inserirli in un campo della userform ma puoi visualizzarli se memorizzati altrove

Visti i due punti cruciali per
il punto 1) usa la funzione Now()
2) inserisci all'apertura del file (in thisworkbook) questo codice
Codice: Seleziona tutto
If Worksheets("Foglio1").range("Z1").value = "" then Worksheets("Foglio1").range("Z1").value = Now()


Poi all'avvio della userform userai questa macro per visualizzare la differenza nell'apposito campo (nell'esempio ho usato textbox)
Codice: Seleziona tutto
StartDate = Worksheets(Foglio1").range("Z1").value
EndDate = Now()
Userform1.TextBox1.value = Application.Text(Date - StartDate, "[h]:mm:ss")
Userform1.Show


Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-


Torna a Applicazioni Office Windows


Topic correlati a "[Excel 2010 & VBA] Timer su Form Attivo":


Chi c’è in linea

Visitano il forum: Nessuno e 12 ospiti