【问题标题】:Excel Link two cells in different sheets using when changed macroExcel使用更改宏时链接不同工作表中的两个单元格
【发布时间】:2017-11-07 07:03:15
【问题描述】:

我有一个包含多个工作表的 Excel 工作簿。我在 WORKSHEET A 中有一个范围名称为 TRACK1 的单元格,在 WORKSHEET B 中有一个范围名称为 TRACK2 的单元格。

每个 TRACK1 和 TRACK2 都从一个列表中进行验证。用户可以从选择单元格时显示的下拉列表中更改任一单元格。

我希望能够允许用户更改其中一个并让另一个也更改以匹配。 TRACK1 和 TRACK2 的改变值改变,反之亦然。

我知道如何执行这个基本宏,但是如何停止事件传播?

Private Sub Worksheet_Change(ByVal Target As Range)

    If Not Application.Intersect(Target, Range("TRACK1")) Is Nothing Then
        Range("TRACK2") = Range("TRACK1")
    End If

    If Not Application.Intersect(Target, Range("TRACK2")) Is Nothing Then
        Range("TRACK1") = Range("TRACK2")
    End If

End Sub

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    在工作表A的代码模块中,使用:

    Private Sub Worksheet_Change(ByVal Target As Range)
        Application.EnableEvents = False
        If Not Application.Intersect(Target, Range("TRACK1")) Is Nothing Then
            Worksheets("WORKSHEET B").Range("TRACK2") = Range("TRACK1")
        End If
        Application.EnableEvents = True
    End Sub
    

    在工作表 B 的代码模块中,使用:

    Private Sub Worksheet_Change(ByVal Target As Range)
        Application.EnableEvents = False
        If Not Application.Intersect(Target, Range("TRACK2")) Is Nothing Then
            Worksheets("WORKSHEET A").Range("TRACK1") = Range("TRACK2")
        End If
        Application.EnableEvents = True
    End Sub
    

    【讨论】:

    • 嗨@YowE3K 为什么我会得到Error 1004: Method 'Range' of object '_Worksheet' failed 指向Range("TRACK1") = Range("TRACK2")
    • 我使用了左上角、工具栏下方的命名框来命名单元格。我可以通过=TRACK1 访问任何工作簿中的每个单元格值。这些是工作簿的全局范围,对吗?我也尝试过像 Sheets("Sheet2").Range("TRACK1") = Sheets("Sheet3").Range("TRACK2") 这样指定工作表,但失败并出现 subscript out of range 错误。
    • 看来我们需要限定不在活动工作表中的范围引用 - 让我进行更改。
    • @TheRealPapa 好的 - 看看我刚刚所做的更新。确保将工作表名称更改为实际名称。糟糕——刚刚注意到你的评论。你说你试过吗?您确定您为正确的范围名称使用了正确的工作表名称吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-12
    • 2015-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多