我想强制引用一个不存在的表。
这可能吗?
要复制我正在尝试执行的操作,请打开 Excel,创建一个新工作表,然后在 A1 中输入
=MyMadeUpTable[[#Headers],[Some Header]]
Excel 会告诉你,因为没有这样一张表MyMadeUpTable1
我需要强制进行此更改,并且接受 Excel 不高兴且无法正确引用。
这是因为这将是一个模板。我的 VBa 宏将在稍后生成具有有效表名的表
答案1
您可以使用公式来INDIRECT()
根据单元格或命名范围中的值生成表名。不过这种方法有些“等等”。
另一种方法是创建包含表的文件,只需将其命名为“Table1”等等。然后,您的 VBA 可以在需要时重命名它们并从那里开始工作。鉴于您似乎知道名称,您可以在模板中创建空占位符表时命名它们,然后让您的 VBA 填充它们。这样,对它们的所有引用在使用之前都是有效的。
在 VBA 中选择它们与选择其他任何内容相同。而且由于它们已经存在,因此无需测试它们的存在 — “检测它们” —(好吧,除了“良好做法”...)。