我可以解锁工作表,刷新查询,然后用密码保护工作表。
但是,它似乎会返回到那个受保护的工作表并尝试再次编辑它,并抛出一个错误,说工作表受保护。
Sub QueryRefresh()
pwd = "example"
Worksheets("Sheet1").Unprotect pwd
Worksheets("Sheet2").Unprotect pwd
Sheets("Sheet1").ListObjects("Query1").QueryTable.Refresh BackgroundQuery:=True
Sheets("Sheet2").ListObjects("Query2").QueryTable.Refresh BackgroundQuery:=True
Worksheets("Sheet1").Protect pwd
Worksheets("Sheet2").Protect pwd
MsgBox "Success"
End Sub
2条答案
按热度按时间cqoc49vn1#
请尝试以下操作:背景查询:=False
ccgok5k52#
尝试用途:
Application.CalculateUntilAsyncQueriesDone
它已经为我工作。