私有子工作表_更改 VBA 代码合并问题

问题描述

我正在使用以下代码根据“Sheet1”“B2”和 VICE VERSA 中的值更改“Sheet2”“D2”值。但他们没有一起工作。如果我单独使用它们,那么两种编码都可以完美运行。我怎样才能纠正他们一起表演?

“表 1”

byte[] bRPM = Encoding.Ascii.GetBytes($"{RPMMove}\r\n");

“Sheet2”

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target,Range("B2")) Is nothing Then
    Select Case Target.Value
    Case Is = "Included": Worksheets("Sheet2").Range("D2") = Target.Value
    Case Is = "Excluded": Worksheets("Sheet2").Range("D2") = Target.Value
    End Select
    End If
End Sub

解决方法

来自上面的评论:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim rng As Range,v
    
    Set rng = Intersect(Target,Me.Range("B2"))
    
    If Not rng Is Nothing Then
        v = Target.Value
        If v = "Included" Or v = "Excluded" Then
            On Error GoTo haveError           'set up error handling
            Application.EnableEvents = False  'disable events
            ThisWorkbook.Worksheets("Sheet2").Range("D2") = v
            Application.EnableEvents = True   're-enable events
        End If
    End If
    Exit Sub 'normal exit
    
haveError:
    Application.EnableEvents = True 'make sure events not left turned off
    
End Sub