0

所以我有一个 excel 插件,除其他外,它包含大量别名。例如,国家名称及其 ISO 代码、国家及其大陆等(这样我就可以很容易地知道加拿大在美国或科特迪瓦的国家语言是法语等)。目前,我的 xlam 具有检查另一个工作簿中命名范围的所有相关功能。

总结一下,我有2个文件:

  • macros.xls(具有所有命名范围,例如 Angola = AGO 等),以及
  • my_functions.xlam(具有我可以从 excel 调用以获取别名的函数)。一个示例函数是:

    函数 nti(v) nti = WorksheetFunction.VLookup(Trim(v), Range("macros.xls!nti"), 2, 0) 结束函数

其中nti是我使用的函数,而macros.xls!nti是我引用的命名范围。

这一切都很好,但这意味着此功能需要两个文件,因为无法在 Excel 中打开和编辑 .xlam 文件,只能在 VBA 资源管理器中打开和编辑。

问题:我怎样才能在一个文件中拥有一个容易修改的列表和引用这些列表的函数?这些功能应该可用于我正在处理的其他文件。

不合格解决方案:

  • 将 my_functions.xlam 临时另存为 .xls,复制所有命名范围,然后将其另存为 .xlam。每次我想更改命名范围(这是相当频繁的)时,这样做会很烦人。
  • 将一堆包含所有别名的 2 列数组硬编码到每个函数中(有时长达数千行)。请告诉我有更性感的方式...

提前致谢!

4

1 回答 1

2

我通常只是将 XLAM 的 IsAddin 属性从 true 切换为 false,编辑工作表,然后在保存之前再次切换回该属性。

于 2014-04-10T10:19:56.267 回答