Вот пример того, как вы можете настроить массив листов для просмотра и использовать оператор 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