表格代号无法识别

时间:2017-04-20 06:32:56

标签: vba excel-vba excel

在我的代码中,我使用了某些表的代号。

问题是,当我使用表单执行宏时,它无法识别代号(变量会返回空值)。

可能是什么原因?

 Dim sCodeName As String

 ' Get the codename of the newly created sheet
 sCodeName = Worksheets(atar).CodeName

'atar'是一个变量,包含我的一张纸的名称。

感谢。

2 个答案:

答案 0 :(得分:1)

转到代码视图,在左侧,您可以看到包含其工作表和模块的VBA项目。选择有问题的工作表,然后查看属性窗口。

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

修改: @Ralph速度更快,并提供了完全相同的信息。

答案 1 :(得分:0)

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

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