运行宏(从sql server中选择记录,不引用另一个工作簿)之后,其他一个打开的工作簿会随机激活。
宏在book1中,我从book1运行宏
最后,book2(或book3等)被激活。为什么?!
我试图把它放在End Sub之前
Dim Wb As Workbook
Set Wb = Active/ThisWorkbook
Wb.Activate
或
msgbox "ok"
但仍然飞到另一个打开的工作簿(book2上弹出的消息框)
这种事情不是偶尔每次都会发生的。
谢谢
更新:由于我在book2中修复了一个cirrcular refference,似乎停止了。
答案 0 :(得分:2)
See Difference Between ActiveWorkbook and ThisWorkbook
Sub Bus()
Dim Wb As Workbook
Set Wb = ActiveWorkbook
Debug.Print Wb.Name
Set Wb = ThisWorkbook
Debug.Print Wb.Name
End Sub
如果您将上面的代码放在Book2中。模块1和选择Book1并运行它
您将在即时窗口中获得以下输出:
Book1
Book2