如何添加具有我双击的单元格值的工作表



我开发了这段代码,以便在双击 B 列时选择一个以单元格文本命名的工作表。 但是我正在尝试使用一个 IF 条件来增加我的代码: 如果没有以我双击的单元格命名的工作表,则显示消息框("您好"( 然后使用我双击的单元格的名称创建工作表。

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,则

Sheets(Target.Text)是一个Worksheet对象,你不能将其与布尔值进行比较。此外,如果工作表不存在,您将收到运行时错误。你想要的是一个检查工作表是否存在的函数。你可以找到很多例子,例如在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