我有一个简短的宏,使用下面的命令放置一个细胞在编辑模式:哪个窗口是活动
Application.SendKeys "{F2}"
的代码行正常运行如果宏从工作表中使用,比如运行正常Ribbon界面(那是因为F2把活动单元格进入编辑模式)
如果我运行从VBE窗口中的宏,因为VBE解释宏失败s F2是一个调出对象浏览器的命令。
我想包括在宏观测试,以检查此:
如果工作表是活动窗口,继续运行。
如果VBE是活动窗口,则发出警告MsgBox并中止。
我不知道如何确定哪个窗口处于活动状态。 ActiveWindow.Caption
始终显示是这样的:
Book1.xlsm
看看这有助于:http://stackoverflow.com/questions/33266859/vba-copypastecode-with -sendkeys/33269447#33269447 –
如果工作表处于活动状态,单元格中的值是否会更改?你可以检查改变吗?而不是使用SendKeys,你可以使用InputBox吗? –
@ScottCraner这个想法很好,但它仍然让* VBE *窗口成为焦点................ Rodger的方法有效! –