【发布时间】:2015-07-06 08:22:42
【问题描述】:
在一个 sub 中,我正在解析 activesheet 并创建一个新工作表(在一个新工作簿中), 完成此子后,我需要再次激活旧表 所以我创建了
Dim sourceSheet As Worksheet
Set sourceSheet = ActiveSheet
Analysis(sourceSheet)
在下一个将处理此工作表的子程序中,我将 sourceSheet 作为变量发送
Public Sub Analysis(sourceSheet As Worksheet)
Set ActiveSheet = sourceSheet
它抛出运行时错误 438
如何使旧工作表再次处于活动状态?使用父子创建新工作簿后
【问题讨论】:
-
由于您已经为您的工作表声明了一个工作表变量,我建议您重新编写代码以避免使用
Acitve*。当您的代码变得更加复杂并且您无法跟踪当前处于活动状态的工作表时,它将有助于避免各种错误。这样做非常直截了当,不需要花费太多时间或精力来获得潜在回报。