gpt4 book ai didi

excel - =INDEX(PeriodList,MonthNo) 在工作簿中创建 _xlfn.SINGLE 名称

转载 作者:行者123 更新时间:2023-12-04 10:56:43 28 4
gpt4 key购买 nike

我希望有人能够帮助解决最近 Excel 更新出现的问题。

如果我在 Excel 工作表中定义两个范围名称,然后通过 UI 在单元格 A13 中输入 =Index(PeriodList,MonthNo),我发现 VBA 中的 Thisworkbook.Names.Count 报告 2 - 正如预期的那样。但是,如果我在 VBA 中执行 Activesheet.Range("A13").Formula = "=Index(PeriodList,MonthNo)",Thisworkbook.Names.Count 报告 3 并且我发现创建了一个无法删除的新名称。名称是 _xlfn.SINGLE。对于大量分布广泛的 Excel 模板而言,此名称的存在是一个问题,这些模板在尝试删除此名称时会失败。这只是在最近的 Excel 更新后才成为问题。

问题似乎在于“=Index(PeriodList,1)”中的 MonthNo 元素不会生成 _xlfn.SINGLE 名称。

谁能确定如何在不创建不受欢迎的 _xlfn.SINGLE 名称的情况下在 VBA 中输入与“=Index(PeriodList,MonthNo)”等效的内容?

最佳答案

如果该功能过去对您有用,并且最近才成为问题,您应该与您的 IT 部门联系,因为它表明正在使用的 Excel 版本存在问题。

当正在运行的 Excel 版本不支持动态数组函数时,将显示 _xlfn.SINGLE。

https://support.office.com/en-us/article/issue-an-xlfn-prefix-is-displayed-in-front-of-a-formula-882f1ef7-68fb-4fcd-8d54-9fbb77fd5025

有许多可用的动态数组 VBA 解决方案,例如这里。
https://bettersolutions.com/vba/arrays/dynamic-size.htm

使用此代码在 UI 名称管理器中显示所有定义的名称。然后,您可以删除您选择的命名范围,包括以前隐藏的范围。

Sub ShowAllDefinedNames()

'Source: https://professor-excel.com/named-ranges-excel-hidden-names/

Dim tempName As Variant

'Unhide all names in the currently open Excel file

For Each tempName In ActiveWorkbook.Names

tempName.Visible = True

Next

End Sub

关于excel - =INDEX(PeriodList,MonthNo) 在工作簿中创建 _xlfn.SINGLE 名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59121799/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com