簡體   English   中英

Private Sub Worksheet_Change VBA 代碼合並問題

[英]Private Sub Worksheet_Change VBA code merging issue

我正在使用以下代碼根據“Sheet1”“B2”和 VICE VERSA 中的值更改“Sheet2”“D2”值。 但他們沒有一起工作。 如果我單獨使用它們,那么兩種編碼都可以正常工作。 我怎樣才能糾正他們一起表演?

“表 1”

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

“表 2”

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("D2")) Is Nothing Then
    Select Case Target.Value
    Case Is = "Included": Worksheets("Sheet1").Range("B2") = Target.Value
    Case Is = "Excluded": Worksheets("Sheet1").Range("B2") = 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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM