Обычно хорошей идеей является перенести основную часть вашего кода в отдельную подпрограмму и вызвать ее из обработчика событий: затем вы также можете вызывать ее из других мест
Обычный модуль:
Sheet1.SyncVis
Модуль листа:
Private Sub Worksheet_Change(ByVal Target As Range)
CheckVis Target
End Sub
Sub SyncVis()
Me.CheckVis Range("C8")
Me.CheckVis Range("C52")
End Sub
Private Sub CheckVis(ByVal Target As Range)
Dim tf As Boolean
If Not Application.Intersect(Range("C8"), Target) Is Nothing Then
With Range("A54,A61,A77,A93,A109,A129").EntireRow
Select Case Target.Value
Case "A", "C": .Hidden = True
Case "B": .Hidden = False
End Select
End With
Sheets("Proforma Inv").Visible = Target.Value = "B"
End If
If Not Application.Intersect(Range("C9"), Target) Is Nothing Then
tf = Target.Value = "Debug" or Target.Value = "Soshi"
Rows("55").EntireRow.Hidden = tf
Sheets("Inv").Range("A41,A48,A55,A62").EntireRow.Hidden = tf
Sheets("Proforma Inv").Range("A39,A46,A53,A60").EntireRow.Hidden = tf
End If
If Not Application.Intersect(Range("C52"), Range(Target.Address)) Is Nothing Then
Select Case Target.Value
Case Is = "1": Range("A72:A119,A57:A60,A62:A71").EntireRow.Hidden = True
Sheets("Inv").Rows("44:64").EntireRow.Hidden = True
Sheets("Inv").Rows("38:40").EntireRow.Hidden = False
Sheets("Inv").Rows("42:43").EntireRow.Hidden = False
Sheets("PL").Rows("22:23").EntireRow.Hidden = False
Sheets("PL").Rows("39:40").EntireRow.Hidden = True
Sheets("PL").Rows("56:57").EntireRow.Hidden = True
Sheets("PL").Rows("73:74").EntireRow.Hidden = True
Sheets("Proforma Inv").Rows("42:62").EntireRow.Hidden = True
Sheets("Proforma Inv").Rows("36:38").EntireRow.Hidden = False
Sheets("Proforma Inv").Rows("40:41").EntireRow.Hidden = False
Case Is = "2": Rows("88:119").EntireRow.Hidden = True
Rows("57:60").EntireRow.Hidden = False
Rows("62:76").EntireRow.Hidden = False
Rows("78:87").EntireRow.Hidden = False
Sheets("Inv").Rows("51:64").EntireRow.Hidden = True
Sheets("Inv").Rows("38:40").EntireRow.Hidden = False
Sheets("Inv").Rows("42:47").EntireRow.Hidden = False
Sheets("Inv").Rows("49:50").EntireRow.Hidden = False
Sheets("PL").Rows("22:23").EntireRow.Hidden = False
Sheets("PL").Rows("39:40").EntireRow.Hidden = False
Sheets("PL").Rows("56:57").EntireRow.Hidden = True
Sheets("PL").Rows("73:74").EntireRow.Hidden = True
Sheets("Proforma Inv").Rows("49:62").EntireRow.Hidden = True
Sheets("Proforma Inv").Rows("36:38").EntireRow.Hidden = False
Sheets("Proforma Inv").Rows("40:45").EntireRow.Hidden = False
Sheets("Proforma Inv").Rows("47:48").EntireRow.Hidden = False
Case Is = "3": Rows("104:119").EntireRow.Hidden = True
Rows("57:60").EntireRow.Hidden = False
Rows("62:76").EntireRow.Hidden = False
Rows("78:92").EntireRow.Hidden = False
Rows("94:103").EntireRow.Hidden = False
Sheets("Inv").Rows("58:64").EntireRow.Hidden = True
Sheets("Inv").Rows("38:40").EntireRow.Hidden = False
Sheets("Inv").Rows("42:47").EntireRow.Hidden = False
Sheets("Inv").Rows("49:54").EntireRow.Hidden = False
Sheets("Inv").Rows("56:57").EntireRow.Hidden = False
Sheets("PL").Rows("22:23").EntireRow.Hidden = False
Sheets("PL").Rows("39:40").EntireRow.Hidden = False
Sheets("PL").Rows("56:57").EntireRow.Hidden = False
Sheets("PL").Rows("73:74").EntireRow.Hidden = True
Sheets("Proforma Inv").Rows("56:62").EntireRow.Hidden = True
Sheets("Proforma Inv").Rows("36:38").EntireRow.Hidden = False
Sheets("Proforma Inv").Rows("40:45").EntireRow.Hidden = False
Sheets("Proforma Inv").Rows("47:52").EntireRow.Hidden = False
Sheets("Proforma Inv").Rows("54:55").EntireRow.Hidden = False
Case Is = "4": Rows("57:60").EntireRow.Hidden = False
Rows("62:76").EntireRow.Hidden = False
Rows("78:92").EntireRow.Hidden = False
Rows("94:108").EntireRow.Hidden = False
Rows("110:119").EntireRow.Hidden = False
Sheets("Inv").Rows("38:40").EntireRow.Hidden = False
Sheets("Inv").Rows("42:47").EntireRow.Hidden = False
Sheets("Inv").Rows("49:54").EntireRow.Hidden = False
Sheets("Inv").Rows("56:61").EntireRow.Hidden = False
Sheets("Inv").Rows("63:64").EntireRow.Hidden = False
Sheets("PL").Rows("22:23").EntireRow.Hidden = False
Sheets("PL").Rows("39:40").EntireRow.Hidden = False
Sheets("PL").Rows("56:57").EntireRow.Hidden = False
Sheets("PL").Rows("73:74").EntireRow.Hidden = False
Sheets("Proforma Inv").Rows("36:38").EntireRow.Hidden = False
Sheets("Proforma Inv").Rows("40:45").EntireRow.Hidden = False
Sheets("Proforma Inv").Rows("47:52").EntireRow.Hidden = False
Sheets("Proforma Inv").Rows("54:59").EntireRow.Hidden = False
Sheets("Proforma Inv").Rows("61:62").EntireRow.Hidden = False
End Select
End If
End Sub