如何添加一个工作表,其中包含我双击的单元格的值

时间:2017-07-20 14:07:22

标签: vba excel-vba excel

我开发了这段代码,当我双击它时,选择一个以B列上的单元格文本命名的工作表。 但我试图用一个IF条件增加我的代码:  如果没有以单元格命名的工作表,我双击显示一个msgbox(“你好”) 然后用双击的单元格名称创建工作表。

Option Explicit


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

If Target.Column = 2 Then

If Sheets(Target.Text) = True Then
Sheets(Target.Text).Visible = xlSheetVisible
Sheets(Target.Text).Select
Sheets(Target.Text).Range("A2").Select

Cancel = True
Else
MsgBox ("hello")

End If
End If

End Sub

这种情况不像我想象的那样有效     如果Sheets(Target.Text)= True则

1 个答案:

答案 0 :(得分:0)

Sheets(Target.Text)Worksheet - 对象,您无法将其与布尔值进行比较。此外,如果工作表不存在,您将收到运行时错误。你想要的是检查工作表是否存在的功能。您可以找到许多示例,例如on stackoverflow

将此类函数复制到您的代码中并更改您的事件处理程序

If SheetExists(Target.Text) Then
    Sheets(Target.Text).Visible = xlSheetVisible
    Sheets(Target.Text).Select
    Sheets(Target.Text).Range("A2").Select
    Cancel = True
Else
    MsgBox ("hello")
End If