查找命名范围或命名对象

时间:2020-10-05 18:30:02

标签: excel vba

“我的电子表格”使用CHOOSE('Loss Template'!$M$50,Jun_20, July_20, Sept_20, Oct_20)公式来确定要在计算中使用的表。我预先制作了带有12个名称可供选择的选择公式。我尚未为该公式创建所有12个对象。

我尝试用以下选择公式中指定的名称之一命名表:

Oct_20

注意:没有名称为Oct_20的已知对象

Excel表示“名称已经存在,我需要使名称唯一。”

我已完成的操作:

  1. 我尝试从选择中删除Oct_20并命名该表,然后

    相同的“已存在”警报

  2. 尝试使用快速访问工具栏查找具有该名称的对象

    “ Oct_20”不存在,并且无法通过该函数找到

  3. 使用VBA删除所有未使用的名称

    相同的“已存在”警报

  4. 在“公式->名称管理器”中找不到Oct_20

我正试图将df['Year-Week'] = df['Year'].astype(str) + '-' + df['Week'].astype(str) df['Period'] = pd.to_datetime(df['Year'].astype(str) + '-' + df['Week'].astype(str) + '-' +'0', format='%Y-%W-%w').dt.to_period('W') 用作表名,以解决任何问题?

1 个答案:

答案 0 :(得分:0)

要在工作簿的常规模块中显示所有工作簿中的名称,请执行以下操作:

Sub showAllNames()
    Dim Nm As Name
    For Each Nm In ThisWorkbook.Names
        Debug.Print Nm.Name, Nm.RefersTo
    Next Nm
End Sub

注意::如果Name不存在,则问题在于您在之前输入了CHOOSE公式(包含名称) 为表命名。将该公式更改为文本;然后尝试命名表格;然后将其更改回公式。

一旦您满意Oct_20可以删除:

Sub DeleteHiddenName()
    Dim sNM As String, Nm As Name
    sNM = InputBox("What Name?")
    
Set Nm = ThisWorkbook.Names(sNM)
  Nm.Delete
    
End Sub

很显然,如果用于生产,这些宏将需要错误检查和其他内容。但这可能会让您入门。