Excel VBA双击

Excel VBA双击,vba,excel,double-click,Vba,Excel,Double Click,我正在处理一个工作项目,其中有一个excel工作表,其值在超出规范时变为红色。我想做的是能够双击单元格,并使工作簿中的工作表弹出,其中包含趋势数据。我已经创建了带有图表的工作表。长话短说,我希望能够双击一个特定的单元格,让它显示相应的工作表 我已经尝试过这个代码,但它不起作用。是否有人能够从头开始编写代码或修改代码以便我可以使用它?我试图点击的单元格是N9,我希望它打开的那张纸叫做“Alpha Final Rinse” 我在Excel 2013中这样做。谢谢大家! 如果满足以下条件,代码将正常工

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

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


我在Excel 2013中这样做。谢谢大家!

如果满足以下条件,代码将正常工作:

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

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

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

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
是阻止用户进入单元格编辑模式所必需的(假设已在选项中启用)。

不要忘记设置
cancel=True
,这样用户就不会进入单元格编辑模式。
双击之前的工作表是一个事件处理程序。如果您使用
Application.EnableEvents=False崩溃或出错,则需要重新启用事件处理。
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