excel 在受保护的工作表中通过VBA刷新幂查询

relj7zay  于 2023-03-04  发布在  其他
关注(0)|答案(1)|浏览(144)

我有一个受保护的excel工作表,其中包含一个要用VBA刷新的超级查询。我的代码应该取消工作表保护,刷新查询,然后重新保护工作表。基本脚本非常简单(我已经尝试过使用特定的命名查询,但得到了相同的结果)

Sub refresh()
Worksheets("Sheet2").unprotect
ActiveWorkbook.RefreshAll
Worksheets("Sheet2").protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub

这会导致一条消息,提示我正在尝试更新一个受保护的单元格。但是,如果我运行以下命令:

Sub refresh()
Worksheets("Sheet2").unprotect
ActiveWorkbook.RefreshAll
End Sub

它可以工作,但是很明显刷新完成后不能重新保护单元格。我怎样才能让脚本在sub结束时重新保护?

mbzjlibv

mbzjlibv1#

问题是宏在查询完成之前继续运行
如果右键单击查询,转到属性,取消选中[ ] enable background refresh,会发生什么情况?

相关问题