VBA:打开多个excel文件时引用excel文件

  • 本文关键字:excel 文件 引用 VBA excel vba
  • 更新时间 :
  • 英文 :


我有一个运行以下代码的excel表,每隔一段时间点击一个按钮就可以运行一些代码,打开一个excel表,它可以完美地工作,但如果你打开第二个,它会给出"下标超出范围">
我的假设是命令的上下文失败了,因为它不确定要引用哪个打开的excel表,但经过一系列的谷歌搜索,我还没能找到一个可行的解决方案。工作代码会很好,但我想理解为什么也会发生这种情况,我认为有了整个文件名,它就能找到自己。

Application.OnTime Now + TimeValue("00:02:30"), ("'Filename.xlsm'!Sheet2.CommandButton1_Click")

两件事:

  1. 永远不要调用事件处理程序。与其调用CommandButton1_Click,不如将所有代码放入一个专用过程中,然后由CommandButton1_Click.OnTime调用该过程。注意:此代码应在常规模块中,而不是在工作表后面的代码中。

  2. VBA是单线程的。因此,如果其他代码已经在运行,那么您的.OnTime就无法运行。

最新更新