基本上我在一个不断运行的工作簿中运行一个宏。当我打开另一个工作簿时,宏会中断并且超出范围。如何锁定该特定工作表上的宏?
问问题
5120 次
2 回答
4
使用 excel vba 时的经验法则,不要使用 ActiveWorkbook/ActiveSheet/Selection 变量。确保这些都明确说明,例如。
option explicit
sub myRoutine()
Dim ws as Worksheet
Set ws = ThisWorkbook.Sheets('SheetName')
End Sub
ActiveSheet 和 selection 将使用当前正在使用的工作表以及当前选中的单元格。
我猜你录制了一个宏,在这种情况下按 Alt+F11 并转到你当前的工作簿并在项目资源管理器中找到模块。您可能需要修改代码以不引用活动实例。
于 2013-10-31T17:30:58.650 回答
0
您需要明确说明您正在使用的工作簿/工作表......您的宏正在渗入其他工作表,因为它正在运行当时关注的任何内容。使用 thisWorkbook 或 Worksheet("myname") 之类的语句来明确引用应编辑的工作表/书籍。
于 2013-10-31T17:29:00.853 回答