【问题标题】:Excel VBA DoubleClickExcel VBA 双击
【发布时间】:2016-11-30 10:50:44
【问题描述】:

我正在做一个工作项目,我有一个 Excel 表,其中的值在超出规范时会变为红色。我想要做的是能够双击一个单元格并在我的工作簿中弹出包含趋势数据的工作表。我已经创建了带有图表的工作表。长话短说,我希望能够双击特定单元格并让它显示相应的工作表。

我已经尝试过这段代码,但它不起作用。是否有人能够从头开始编写代码或更改代码以便我可以使用它?我试图点击的单元格是 N9,我希望它打开的工作表名为“Alpha Final Rinse”

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, cancel As Boolean)
    Sheets("Alpha Final Rinse").Select
End Sub

我正在 Excel 2013 中执行此操作。谢谢!

【问题讨论】:

    标签: vba excel double-click


    【解决方案1】:

    您的代码将在以下情况下工作:

    • 它安装在数据表的工作表代码区域(您正在双击其单元格的表)
    • 宏已启用
    • 文件类型是 .xlsm 而不是 .xlsx

    【讨论】:

    • 别忘了设置Cancel = True,这样用户就不会进入单元内编辑模式。
    【解决方案2】:

    如果您希望 N9 能够将焦点切换到另一个工作表,请使用 Intersect method 隔离 Target

    在数据工作表的代码表中:

    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, cancel As Boolean)
        If Not Intersect(Target, Range("N9")) Is Nothing Then
            cancel = True
            Worksheets("Alpha Final Rinse").Activate
        End If
    End Sub
    

    请注意,cancel = True 是阻止用户进入单元内编辑模式所必需的(假设已在选项中启用)。

    【讨论】:

    • Worksheet_BeforeDoubleClick 是一个事件处理程序。如果您使用Application.EnableEvents = False 崩溃或出错,那么您需要重新打开事件处理。
    猜你喜欢
    • 2019-04-10
    • 1970-01-01
    • 2019-02-09
    • 1970-01-01
    • 2020-10-17
    • 2016-11-08
    • 1970-01-01
    • 2016-06-25
    • 2017-04-28
    相关资源
    最近更新 更多