隐藏其他表格时是否可以始终保留在活动表中?

时间:2019-05-10 10:04:49

标签: excel vba

我创建了一个动态工作簿,在其中将数据放入并拉出包含其他来源数据的更多工作表。我有一个“临时”工作表,其中代码更新了som数据,该工作表一直隐藏到运行宏为止,以便放置和提取数据,我将其显示出来,完成后将其再次隐藏。这工作(几乎)完美。

当我隐藏它时会发生问题,然后我自动选择了我的上一张纸?我的代码完全没有任何.select或.active(仍在学习中),因为重要的是,代码必须每天从其运行所在的工作表返回,因为这每天都会更改名称。

我似乎找不到能解决我问题的任何东西,希望有人能提供帮助:

我尝试了以下操作,如下面的代码所示:

Sheets("Temp").Cells.ClearContents
Sheets("Temp").Visible = False

'Cleans filters
ActiveSheet.ShowAllData
Application.Goto Range("A4")

Application.ScreenUpdating = True

我想一直留在我的活动表中(例如:(“ 16”)这是实际日期,每天都会有一张工作表,等等(“ 17”),(“ 18”),依此类推。)

1 个答案:

答案 0 :(得分:2)

您可以使用With立即重新激活工作表,如下所示:

With ActiveSheet
    OtherSheet.Visible = xlSheetVisible
    .Activate 'Immediately reactivate the ActiveSheet
End With

(您可能想要切换Application.ScreenUpdating,以免看到其他工作表的闪烁)

但是,为什么需要显示工作表才能从中复制数据?如果您是not using Select(您说已经对它进行过排序),那么您应该能够使用隐藏表来完成大多数工作,例如HiddenSheet.Range("A1:B3").Copy

(另一方面,“非常隐藏”工作表有两个限制-例如,您不能删除“非常隐藏”工作表。)