Ho un breve macro che inserisce una cella in modalità di modifica con il comando:quale finestra è attiva
Application.SendKeys "{F2}"
La riga di codice viene eseguito correttamente se la macro viene eseguita dal foglio di lavoro utilizzando, per esempio, il normale interfaccia Ribbon (che è perché F2 mette la cella attiva in modalità Edit)
Se eseguo la macro dalla finestra diVBE, la macro non riesce perché la VBE interpretare s F2 essere un comando per visualizzare il Visualizzatore oggetti.
voglio includere un test nella macro per verificare questo:
Se il foglio di lavoro è la finestra attiva, procedere in esecuzione.
Se il VBE è la finestra attiva, emettere un messaggio MsgBox e interrompere.
Non so come determinare quale finestra è attiva. ActiveWindow.Caption
visualizza sempre qualcosa di simile:
Book1.xlsm
Vedere se questo aiuta: http://stackoverflow.com/questions/33266859/vba-copypastecode-with -sendkeys/33269447 # 33269447 –
Il valore nella cella sarà cambiato se il foglio di lavoro è attivo. Puoi controllare per un cambiamento? Invece di usare SendKeys, potresti usare un InputBox invece? –
@ScottCraner L'idea è buona, ma lascia a fuoco la finestra * VBE * ................ Il metodo di Rodger funziona! –