Это не может быть сделано таким образом, даже если похоже, что оно должно работать. Вместо этого приведенный ниже код использует аргумент Select's
Replace
для добавления к выделению в цикле. Переменная boolNoSelectionYet гарантирует, что она не добавится к выбору, существовавшему до запуска цикла, например, если Sheet1 был выбран при запуске подпрограммы, вы не хотите, чтобы он оставался выделенным.
Sub SelectMultipleSheets()
Dim intSheet As Integer
Dim boolNoSelectionYet As Boolean
boolNoSelectionYet = True
For intSheet = 1 To Sheets.Count
If Sheets(intSheet).Name <> "Sheet1" Then
Sheets(intSheet).Cells.Hyperlinks.Delete
Sheets(intSheet).Select (boolNoSelectionYet)
boolNoSelectionYet = False
End If
Next
End Sub
Обратите внимание, что я удалил вторую часть вашего оператора If
, поскольку ваш цикл For Next
гарантирует, что intSheet никогда не будет больше числа листов.