Я сделал этот простой код или, по крайней мере, попробовал. Но у меня есть одна маленькая проблема.
Когда я печатаю For I = 14 To 25
, я действительно не знаю, что делаю. У меня есть лист с именем «Мастер», и в диапазоне K6:V6
у меня есть каждое имя каждого листа, через который я хочу go. Я хотел бы написать что-то вроде этого: For I = sheets("Master").range("K6:V6")
Но это не работает, кто-нибудь, кто может помочь мне назначить мне "имена" в этом массиве?
Остальной код работает должным образом, его можно было бы оптимизировать, если бы не было «select», но я, похоже, не смог этого сделать, поэтому я выбрал легкий путь. Спасибо за вашу помощь!
Dim I As Integer
For I = 14 To 25
If Sheets(I).Visible = False Then
'If sheet = Not visble
'-----------------------------------------------------------------------------------------------------
Sheets(I).Visible = True
AA = Sheets("Master").Range("K6").Value
Sheets(AA).Select
ActiveSheet.Unprotect
ActiveSheet.Range("C3:C120").Copy
Range("G3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveSheet.Range("C6:C120").ClearContents
ActiveSheet.Range("L6:M117").ClearContents
ActiveSheet.Protect
Range("A1").Select
Sheets(I).Visible = False
'-----------------------------------------------------------------------------------------------------
Else:
'If sheet = visble
'-----------------------------------------------------------------------------------------------------
AA = Sheets("Master").Range("K6").Value
Sheets(AA).Select
ActiveSheet.Unprotect
ActiveSheet.Range("C3:C120").Copy
Range("G3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveSheet.Range("C6:C120").ClearContents
ActiveSheet.Range("L6:M117").ClearContents
ActiveSheet.Protect
Range("A1").Select
'-----------------------------------------------------------------------------------------------------
End If
Next I