我认为这应该有用,但有时Excel会让简单的事情变得复杂(或不可能)。
我正在设置一堆图表。因为我预计我必须在某些时候翻译标签,所以我想为我的所有标签使用命名范围(然后将其偏移以进行翻译)。其他东西已经涉及VBA,所以我有点想尽可能多地使用名称管理器。我认为它也使维护更容易。
当我尝试将Axis标题和图表标题设置为对命名范围的单元格的引用时,会出现问题。我知道我可以设置对CELL的引用,通过这样做进入公式栏,同时选择标题:
=worksheetname!$A$1
但是,让我们说我的那个单元名为graphlabel_waterpointY。我想做点什么:
=graphlabel_waterpointY
哪个失败了。稍微挖掘一下,我发现在我可以使用命名范围之前我需要输入工作簿的名称,如下所示:
=WORKBOOKNAME.XLSM!graphlabel_waterpointY
但是,我不希望用户重命名工作簿,后来发现所有图表标题都显示!VALUE而不是正确的标题。因此,我也希望对工作簿的名称进行某种灵活的引用。我不想使用:
=CELL("filename",A1)
&安培;将字符串隔离在那里,因为如果用户打开另一个工作簿也会失败。所以我想"好吧,因为我已经在使用VBA,所以我只是在工作簿打开时将工作簿名称设置在一个单元格中。让我的标题公式引用它"。
然而,这也失败了。甚至像:
=META!$A$1!graphlabel_waterpointY
(假设META!$ A $ 1包含工作簿名称)也会失败。
对我来说似乎很愚蠢,我必须对这些值进行硬编码。我的目标是稍后可以翻译。当然可以做一个不同的版本,但是很难维护2个工作簿。或者我可以解决硬编码工作簿的名称和问题。如果它说他们无法改变它。但这也很糟糕。
==================
我的解决方案是第一个提到的,例如,即使单元格具有命名范围,也可以通过其A1样式引用来引用它。工作,但我失去了布局的灵活性.....也许我很挑剔......