宏执行后随机更改活动工作簿

时间:2016-04-07 11:18:08

标签: excel vba excel-vba macros

运行宏(从sql server中选择记录,不引用另一个工作簿)之后,其他一个打开的工作簿会随机激活。
宏在book1中,我从book1运行宏 最后,book2(或book3等)被激活。为什么?!
我试图把它放在End Sub之前

Dim Wb As Workbook  
Set Wb = Active/ThisWorkbook  
Wb.Activate   

msgbox "ok"  

但仍然飞到另一个打开的工作簿(book2上弹出的消息框)
这种事情不是偶尔每次都会发生的。 谢谢

更新:由于我在book2中修复了一个cirrcular refference,似乎停止了。

1 个答案:

答案 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

enter image description here