Condividi:        

[EXCEL] MSGBOX "a tempo"

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] MSGBOX "a tempo"

Postdi luca2002for » 01/03/07 13:13

Ciao a tutti!

Avrei (come sempre) bisogno di un aiutino per risolvere un problema di excel.

Ho inserito nel foglio una msgbox qualora si verifichi un determinato errore, ma il problema è che se non sono lì in quel momento a schiacciare il tasto "ok" il foglio rimane bloccato e non si aggiorna.

Qualcuno di voi sa se per caso è possibile temporizzare un msgbox facendo in modo che, laddove non intervenga la conferma sull'avviso (cioè l'ok dato manualmente) possa comunque levarsi dopo 1 o 2 secondi?

Grazie mille, non so proprio come uscire da questo grattacapo :-)

Luca
luca2002for
Utente Senior
 
Post: 116
Iscritto il: 07/05/06 09:32

Sponsor
 

Postdi Anthony47 » 01/03/07 17:19

Ciao luca,
ti do tre ipotesi:
1) invece del msgbox accodi i messaggi su un foglio di report, cosi' puoi leggerteli quando vuoi
2) OPPURE, invece di attivare un msgbox, attivi un foglio che contiene il messaggio, con ritorno al foglio iniziale dopo N secondi. Puoi ottenerlo con questa macro (va su foglio3, dopo 5 secondi torna su foglio1:

Codice: Seleziona tutto
Sub Mesg()
Delay = 5 '<<<<- Secondi di Pausa
Sheets(3).Select
start = Timer
Term = (start + Delay) Mod 86400
luppa:
DoEvents
If Timer < Term Then GoTo luppa
Sheets(1).Select
End Sub


NB: non ho callaudato il comportamento nell' intorno della mezzanotte, quando timer da 86330 passa a 0.

Eventualmente puoi inserire su foglio 3 un pulsante per ritornare al foglio1; in questo caso e' necessario scommentare l' istruzione DoEvents e utilizzare una macro come questa per tornare al foglio di partenza, associandola al pulsante di Foglio3:
Codice: Seleziona tutto
Sub Sh1()
Sheets(1).Select
End Sub


3) OPPURE, invece del msgbox usi una UserForm che attivi (UserForm1.Show) al momento dell' errore e disattivi dopo gli N secondi (UserForm1.Hide); nella macro Sub Mesg (vedi qualche riga sopra) inserirai l' istruzione .Show al posto di Sheets(3).Select e la .Hide al posto di Sheets(1).Select.
Ovviamente dovrai anche generare la UserForm con il il relativo messaggio.

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


Torna a Applicazioni Office Windows


Topic correlati a "[EXCEL] MSGBOX "a tempo"":


Chi c’è in linea

Visitano il forum: Nessuno e 66 ospiti

cron