Pero' la prossima volta parti da quanto pubblicato, poi piano piano ci fai prove e migliorie...
Hai dichiarato myOre As Range, ma "A2:A10" e' una stringa
Usi Wb.Sh1.Range(myOre), ma Wb non e' assegnato a niente, e Sh1 lo hai gia' associato a un preciso Sheet del workbook attivo, non puoi riassociarlo a un Workbook, nemmeno ripetere l'associazione al workbook attivo; la mia macro faceva riferimento a ThisWorkbook.Sheets(mySh).Range(myOre), cioe' il file che contiene la macro, lo sheet che ha un nome preciso, un range che ha un indirizzo preciso. L'uso di ThisWorkbook consente di associare chiaramente a quale workbook la macro fa riferimento, perche' non devi dimenticare che quando scatta la macro di OnTime tu non puoi prevedere quale sara' in quel momento il file attivo.
Ma comunque se vuoi per prova far comparire un msgbox a una certa ora ti basterebbe una cosa piu' semplice. Tipo
-in A2 del foglio Orari scrivi l'ora a cui vuoi far comparire il messaggio
-in un Modulo standard del vba inserisci la macro che pianifica la macro col msgbox
- Codice: Seleziona tutto
Sub Prepara()
Application.OnTime Sheets("Orari").Range("A2").Value, "Messaggia"
End Sub
Sempre in un Modulo standard scrivi la macro che fara' comparire il messaggio; tipo
- Codice: Seleziona tutto
Sub messaggia()
Beep
MsgBox ("Beep...")
End Sub
Poi lanci la Sub Prepara e aspetti che scatti la Sub messaggia, all'ora impostata
Ciao