Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 无法识别工作表代码名_Vba_Excel - Fatal编程技术网

Vba 无法识别工作表代码名

Vba 无法识别工作表代码名,vba,excel,Vba,Excel,在我的代码中,我使用某个工作表的代码名 问题是,当我使用表单执行宏时,它无法识别代码名(变量接收空值) 原因可能是什么 Dim sCodeName As String ' Get the codename of the newly created sheet sCodeName = Worksheets(atar).CodeName “atar”是一个变量,包含我的一张工作表的名称 谢谢。使用函数检查是否存在代码名 Function WorksheetCodeNameExists(wb

在我的代码中,我使用某个工作表的代码名

问题是,当我使用表单执行宏时,它无法识别代码名(变量接收空值)

原因可能是什么

 Dim sCodeName As String

 ' Get the codename of the newly created sheet
 sCodeName = Worksheets(atar).CodeName
“atar”是一个变量,包含我的一张工作表的名称


谢谢。

使用函数检查是否存在代码名

Function WorksheetCodeNameExists(wb As Workbook, sCodeName As String) As Boolean 
    Dim s As String 
    Dim ws As Worksheet 

    WorksheetCodeNameExists = False 
    For Each ws In wb.Worksheets 
        If StrComp(ws.CodeName, sCodeName, vbTextCompare) = 0 Then 
            WorksheetCodeNameExists = True 
            Exit For 
        End If 
    Next 
    Set ws = Nothing 
End Function 

转到“代码”视图,在左侧可以看到VBA项目及其图纸和模块。选择有问题的图纸并查看属性窗口

您会看到一个名为“(Name)”的字段和一个名为“Name”的字段。 “(名称)”是代码名,“名称”是图纸名称。现在将代码名与输出进行比较

编辑
@Ralph速度更快,提供了一张具有完全相同信息的漂亮图片。

我不知道您为什么要尝试将工作表的
CodeName
存储在字符串变量中。但是,您可以通过将
sCodeName=
替换为
MsgBox
来轻松验证上述行的结果,例如
MsgBox工作表(atar).CodeName
。如果有一张表的名称存储在
atar
中,那么您将在消息框中看到
CodeName
。如果没有这样的工作表,您将收到一条错误消息。顺便说一句,以下插图可能有助于识别任何给定图纸的代码名: