2017-07-20 47 views
0

我開發了此代碼,以便在雙擊它時選擇一個工作表,並在列B上以單元格的文本命名。 但我試圖增加我的代碼與一箇中頻條件: 如果沒有與單元格命名的工作表,我雙擊顯示一個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 

,因爲我以爲 如果表(Target.Text)= true此條件不工作,然後

+0

可能重複的[測試或檢查是否存在板材(https://stackoverflow.com /問題/ 6688131 /測試或檢查-如果片材存在) – sourceCode

回答

0

Sheets(Target.Text)Worksheet -object,你不能把它比作一個布爾值。此外,如果工作表不存在,您將收到運行時錯誤。你想要的是一個函數來檢查工作表是否存在。你可以找到很多例子,例如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 
相關問題