切换工作表名称而不更新对这些工作表的引用

问题描述 投票:0回答:3

我的文件有两个相同的工作表,供用户输入两组不同的假设变量,分别称为“ InputA”和“ InputB”。我想快速将哪个输入工作表输入到模型的其他工作表中。

使用查找和替换花费了5分钟以上的时间,对“ InputA”的引用超过350,000。

我尝试了下面的宏,该宏需要花一点时间才能运行,但不幸的是,它还更改了工作簿中的所有引用,从而有效地将所有引用保留在原始输入表中。

Sheets("InputA").Name = "temp"
Sheets("InputB").Name = "InputA"
Sheets("temp").Name = "InputB"

是否有一种方法可以执行宏,但是可以防止对工作表的任何引用更改为新的工作表名称,从而基本上冻结了工作表名称更改以外的所有内容?还是其他任何可以快速工作的解决方案?我不想遍历350,000个实例并使用INDIRECT()进行重写,因为这是我见过的唯一的其他解决方案,因为我的引用是复杂且嵌套的,这将需要一段时间。

谢谢。

我的文件有两个相同的工作表,供用户输入两组不同的假设变量,分别称为“ InputA”和“ InputB”。我想快速切换将哪个输入纸送入另一个...

excel vba worksheet
3个回答
0
投票

假设您的两个输入表具有相同的结构,我建议以下内容:


0
投票

您的宏需要更好地了解为什么它会更改您的引用。这似乎不是致命的。


0
投票

如评论中所述,您可以采用Damian建议的方法,并在所有相关单元格中使用条件。通用条件为

© www.soinside.com 2019 - 2024. All rights reserved.