我有这段代码。
Const pw As String = "password" '<-change password here
ActiveSheet.Unprotect pw
Range("B7").QueryTable.Refresh BackgroundQuery:=False
ActiveSheet.Protect pw
它取消保护,刷新数据和重新保护。目前,它从活动工作表上的按钮运行。我希望按钮能为两张不同的纸张做同样的事情。
答案 0 :(得分:1)
以下是一个示例,说明如何设置要经过的工作表数组并使用With语句来实现更清晰的代码。如果要对所有工作表执行此操作,可以简单地说“对于工作表中的每个工作表”而不需要声明工作表数组。 :)
Sub Test()
Dim pw As String
pw = "password"
Dim sheet As Variant
Dim refreshSheets(1 To 2) As Worksheet
Set refreshSheets(1) = sheets(1)
Set refreshSheets(2) = sheets(2)
For Each sheet In refreshSheets
With sheet
.Unprotect pw
.Range("B7").QueryTables.Refresh BackgroundQuery:=False
.Protect pw
End With
Next
End Sub
答案 1 :(得分:0)
您正在寻找ActiveWorkbook.Sheets(someName)
。