繁体   English   中英

在Excel中查找工作表名称映射

[英]Find worksheet name mapping in Excel

我继承了一个Excel工作簿,其中包含多个工作表,所有工作表均带有命名选项卡。 我有一些根据按钮和输入运行的VBA代码。 当我比较VBAProject和Excel对象列表时,工作表的名称与选项卡匹配。 到目前为止一切都很好。

但是,在VBA代码和电子表格本身中,它引用其他工作表。 它们仍然是工作簿的一部分,我认为已创建代码,然后重命名了选项卡。 但是我不知道Excel如何保持连接,更重要的是,我应该如何确定连接。

因此,例如,我有一个引用MiscDataRange的VLOOKUP

=IF((VLOOKUP(E4,MiscDataRange,4,0))="Y"...

我不知道MiscDataRange是什么,但是在VBA代码中我找到了一个引用。 在指定工作表“其他中断”之后,该工作表不是任何已命名的选项卡。

    Worksheets("Misc Interrupt").Range("H2:H47") = "N" 'Reset to N at noon.

    UpdateData

    Range("MiscDataRange").ClearContents

我确实有一个名为MiscInt的工作表,它似乎是“ Misc Interrupt”正在使用的工作表,而MiscDataRange正在引用该工作表。

我的问题是我的知识存在一个漏洞-我猜想MiscInt和Misc Interrupt是同一工作表,VLookup引用了MiscInt工作表上的数据。 但是我只能猜测。 我在文件中找不到将这两个映射为相同的任何内容。 我在哪里可以找到?

这个问题似乎很相关,除了他只是拥有一个VLookup,并且没有查看VBA代码: 不存在的Excel工作表,但公式和定义的名称仍然有效吗? 另外,从VBA代码中,我可以看到隐藏的和可见的工作表。

您可以通过转到公式选项卡并单击名称管理器或按Ctrl + F3打开名称经理或您可以粘贴名称列表,什么按F3的名称引用。 可能需要先取消隐藏名称。

在此处输入图片说明

Sub ShowAllNames()
    Dim n As Name
    For Each n In ThisWorkbook.Names
        n.Visible = True
    Next
End Sub

如果我理解您的问题,那么您正在寻找那些命名范围在哪里。

您可以使用这样的子:

Sub t()
Debug.Print "Sheet: " & Range("testNamedRange").Parent.Name
Debug.Print "Full Location: " & Range("testnamedrange").Name
Debug.Print "File path: " & Range("testnamedrange").Worksheet.Parent.Path
End Sub

有帮助吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM