使用VBA:双击单元格创建新工作表,单元格也超链接到新工作表

时间:2016-10-13 23:19:35

标签: excel vba excel-vba

好吧,所以我在这方面是全新的。新的工作角色。我收到了这个excel请求:

  1. 双击工作表中的任何单元格可创建新工作表。
  2. 双击的原始单元格现在变为超链接,链接到新创建的工作表。
  3. 此单元格最初双击的双击功能将被删除。
  4. 老实说,我真的卡住了。我之前没有使用过VBA编程。我已经弄明白了如何在双击时创建新工作表,并且我已经弄明白了如何进行超链接。但我无法弄清楚如何超链接到新创建的工作表,并从原始单元格中删除双击功能!

    这就是我所拥有的......

    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
         Sheets.Add
    End Sub
    

    另外,请原谅我,如果我违反任何规则,这是我第一次在这里发帖。非常感谢你的帮助!

1 个答案:

答案 0 :(得分:3)

您正走在正确的道路上,只需要更多的组件。关键点是声明和使用对象变量(在这种情况下为ws

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim ws As Worksheet

    ' Prevent screen flicker
    Application.ScreenUpdating = False

    ' Add worksheet
    Set ws = Me.Parent.Worksheets.Add

    ' Add Hyperlink
    Target.Hyperlinks.Add Anchor:=Target, Address:="", SubAddress:=ws.Cells(1, 1).Address(True, True, , True), TextToDisplay:=ws.Name & "!A1"

    ' Restore original sheet as active
    Me.Activate

    ' Disable original Doubleclick action
    Cancel = True

    ' Restore screen updating
    Application.ScreenUpdating = True
End Sub