Несколько Worksheet_Changes в одном рабочем листе - PullRequest
0 голосов
/ 10 мая 2019

Мне нужно поместить два worksheet_changes на один лист. В чтении я вижу, что это невозможно, если вы не объедините их. Я пытался сделать это, но сталкиваюсь с проблемами. Ниже приведен код, который я пытаюсь заставить работать:

Private Sub Worksheet_Change(ByVal Target As Range)

ActiveSheet.Activate

If Not Application.Intersect(Range("C10:AA10"), Range(Target.Address)) 

Is Nothing Then
        Select Case Target.Value

Case Is = "": Rows("11:55").EntireRow.Hidden = True

 Case Is = "1": Rows("14:55").EntireRow.Hidden = True
                            Rows("11:13").EntireRow.Hidden = False

Case Is = "2":  Rows("17:55").EntireRow.Hidden = True
                            Rows("11:16").EntireRow.Hidden = False

Case Is = "3": Rows("20:55").EntireRow.Hidden = True
                            Rows("11:19").EntireRow.Hidden = False

 Case Is = "4":  Rows("23:55").EntireRow.Hidden = True
                            Rows("11:22").EntireRow.Hidden = False

 Case Is = "5": Rows("26:55").EntireRow.Hidden = True
                            Rows("11:25").EntireRow.Hidden = False

 End Select

If Not Application.Intersect(Range("C63:AA63"), Range(Target.Address)) 

Is Nothing Then

 Select Case Target.Value

 Case Is = "Other": Rows("64").EntireRow.Hidden = False

Rows("64").EntireRow.Hidden = True

End If

End Sub

По сути, мне нужно, чтобы строки появлялись / исчезали на основе выделения в строке C10: AA63, а затем мне нужна строка, чтобы появляться / исчезать на основе выделения в C63: AA63

Любая помощь приветствуется

1 Ответ

1 голос
/ 10 мая 2019

много ошибок, попробуйте этот код

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Range("C10:AA10"), Target) Is Nothing Then
    Select Case Target.Value
        Case "": Rows("11:55").Hidden = True
        Case 1
            Rows("14:55").Hidden = True
            Rows("11:13").Hidden = False
        Case 2
            Rows("17:55").Hidden = True
            Rows("11:16").Hidden = False
        Case 3
            Rows("20:55").Hidden = True
            Rows("11:19").Hidden = False
        Case 4
            Rows("23:55").Hidden = True
            Rows("11:22").Hidden = False
        Case 5
            Rows("26:55").Hidden = True
            Rows("11:25").Hidden = False
    End Select
End If
If Not Intersect(Range("C63:AA63"), Target) Is Nothing Then
    Select Case Target.Value
    Case "Other"
        Rows("64").Hidden = False
        Rows("64").Hidden = True
    End Select
End If

End Sub
...