Я изо всех сил пытался заставить эту работу работать так, как задумано. Как видите, у меня есть ячейка A38 в качестве диапазона, который будет определять порядок расположения столбцов. Этот номер поступает с другого листа, и всякий раз, когда я его изменяю (с листа, с которого он взят), столбцы с листа с этим кодом не меняются автоматически, мне нужно go в ячейку A38, выбрать ее и нажмите Enter, чтобы он заработал. Вы, ребята, знаете, как я могу сделать это автоматически?
.
Private Sub Worksheet_Change(ByVal Target As Range)
Application.Volatile
ActiveSheet.Activate
If Not Application.Intersect(Range("A38"), Range(Target.Address)) Is Nothing Then
Select Case Target.Value
Case Is = "2": Columns("K:T").EntireColumn.Hidden = True
Columns("I:J").EntireColumn.Hidden = False
Case Is = "3": Columns("L:T").EntireColumn.Hidden = True
Columns("I:K").EntireColumn.Hidden = False
Case Is = "4": Columns("M:T").EntireColumn.Hidden = True
Columns("I:L").EntireColumn.Hidden = False
Case Is = "5": Columns("N:T").EntireColumn.Hidden = True
Columns("I:M").EntireColumn.Hidden = False
Case Is = "6": Columns("O:T").EntireColumn.Hidden = True
Columns("I:N").EntireColumn.Hidden = False
Case Is = "7": Columns("P:T").EntireColumn.Hidden = True
Columns("I:O").EntireColumn.Hidden = False
Case Is = "8": Columns("Q:T").EntireColumn.Hidden = True
Columns("I:P").EntireColumn.Hidden = False
Case Is = "9": Columns("r:t").EntireColumn.Hidden = True
Columns("I:Q").EntireColumn.Hidden = False
Case Is = "10": Columns("s:t").EntireColumn.Hidden = True
Columns("I:R").EntireColumn.Hidden = False
Case Is = "11": Columns("T:T").EntireColumn.Hidden = True
Columns("I:S").EntireColumn.Hidden = False
Case Is = "12": Columns("S:T").EntireColumn.Hidden = True
Columns("I:T").EntireColumn.Hidden = False
End Select
End If
End Sub