Ciao e benvenuto nel forum.
Se vuoi riavviare la macro “prima”, in coda alle istruzioni gli inserirai
- Codice: Seleziona tutto
Application.OnTime Now + TimeValue ( "00:03:00"), "prima"
Per altri spunti puoi guardare:
http://www.pc-facile.com/forum/viewtopic.php?t=52172http://www.pc-facile.com/forum/viewtopic.php?t=61836Ho visto che hai guardato anche la discussione
http://www.pc-facile.com/forum/viewtopic.php?t=46965, [Excel] Macro per importazione dati DDE, ma qell’ argomento era abbastanza complicato e specializzato, non usava Application.OnTime e soprattutto partiva quando si attivava il dde link (che tu non usi, vero?). Anche il problema posto dall’ utente ENRIDINTI era alquanto diverso dai tuoi.
Se poi vuoi lanciare una macro ognivolta che la cella A1 contiene 2, allora userai una macro di tipo Worksheet_Change, che si avvia ogni volta che il foglio cambia; all’ interno della macro controllerai subito se e’ stata A1 che ha cambiato e se A1 contiene 2, uscendo in caso di test negativo. Qualcosa come:
- Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$A$1" Then Exit Sub
If Range("A1").Value <> 2 Then Exit Sub
Application.EnableEvents = False
'
' QUI le istruzioni effettive da eseguire
'
Application.EnableEvents = True
End Sub
(questa e’ la macro che tu chiami Macro1).
Questa macro la inserirai sul “modulo” del foglio il cui A1 vuoi tenere sotto controllo: da excel apri il vba editor con Alt-F11, doppioclick sul nome del foglio che compare nell’ elenco a sx (la cosiddetta “finestra progetto”), copi il codice e lo incolli nel frame “vuoto” di dx; infine aggiungi le istruzioni che vuoi eseguire, dopo Application.EnableEvents = False
Fai sapere come evolve…
Ciao.