首页 / 知识
关于 vba:Excel:列出 INDIRECT 公式所针对的范围
2023-04-13 15:01:00

Excel: list ranges targeted by INDIRECT formulas我们有一些非常大的 Excel 工作簿(数十个选项卡,每个超过 1 MB,非常复杂的计算),其中包含许多甚至数百个使用可怕的 INDIRECT 函数的公式。这些公式分布在整个工作簿中,并针对几个数据表来查找值。 现在我需要将这些公式所针对的数据范围移动到同一工作簿中的不同位置。 (原因不是特别相关,但本身就很有趣。我们需要在 Excel Calculation Services 中运行这些东西,并且一次加载每个相当大的表的延迟时间被证明是不可接受的高。我们正在连续范围内移动表格,因此我们可以一次性加载它们。) 有没有什么方法可以找到当前引用我们要移动的表的所有 INDIRECT 公式? 我不需要在线执行此操作。只要它可靠,我会很乐意运行需要 4 小时才能运行的东西。 请注意,.Precedent、.Dependent 等方法仅跟踪直接公式。 (另外,以我们无法选择的方式重写电子表格)。 谢谢! 您可以使用 vba 迭代整个工作簿(我已包含来自 @PabloG 和 @euro-micelli 的代码):
本示例将每次出现的 "indirect(D4)" 替换为 "indirect(C4)"。如果您有更复杂的间接函数,您可以轻松地将替换函数替换为更复杂的函数。性能还不错,即使对于更大的工作簿也是如此。 问:"有什么方法可以找到当前引用我们要移动的表的所有 INDIRECT 公式吗?" 当我阅读它时,您想查看 INDIRECT 的参数内部以获取对感兴趣领域的引用。 我不确定 SO 的礼仪是关于提及作者所连接的产品的,但 OAK,Operis 分析工具包,一个 Excel 插件,可以用他们的单元格引用替换 INDIRECT 函数决心。然后,您可以使用 Excel 的审计工具来确定每个范围有哪些依赖项。 当然,您可以对工作簿的临时副本执行此操作。 更多在
考虑到这个问题的年龄,您很可能已经找到了替代解决方案或解决方法。
hm,您可以编写一个简单的解析器,忽略大部分字符,只查找相关部分(在此示例中:"A..Z"、"0..9" 和 "! :" 等),但如果 "indirect" 中的参数是函数,你会遇到麻烦。 也许更安全的方法是在第三张纸上打印每次出现的"间接"。然后,您可以添加所需的输出并编写一个小型搜索和替换程序来写回您的更改。
PabloG 选择使用范围的方法是可行的方法(将其添加到我的原始代码中)。速度相当不错,尤其是在检查当前单元格是否包含公式时。显然,这完全取决于您的工作簿的大小。 你可以在 VBA 中使用这样的东西:
你可以添加代码来代替 Debug.Print 来满足你的口味 |
最新内容
相关内容
linux云计算查看命令?
linux云计算查看命令?,系统,信息,地址,工作,命令,情况,标准,服务,软件,网络,linux常用命令1、linux系统常用操作命令如下:ls:全拼list,功能是列出linux打开计算器命令?
linux打开计算器命令?,密码,电脑,工作,设备,数字,系统,手机,指数,情况,服务,关于Linux的(操作过程中的Linux命令必须完整给出)对Linux操作系统列出熟悉的linux命令?
列出熟悉的linux命令?,工作,系统,地址,信息,命令,网络,工具,标准,管理,目录,Linux必学的网络操作命令1、Linux的网络命令比较多,其中一些命令像linux命令输出计算?
linux命令输出计算?,标准,地址,工作,信息,系统,命令,软件,数据,文件,控制台,linux借用外部命令expr,实现计算器功能,利用管道,进程1、你得装一列出常用的linux命令?
列出常用的linux命令?,工作,地址,系统,信息,管理,目录,命令,标准,文件,功能,Linux命令有哪些?Linux常用命令大全linux系统常用操作命令如下:ls:linux计算总数命令?
linux计算总数命令?,系统,第一,情况,数据,信息,电脑,命令,百分比,单位,工作,linux下如何统计一个目录下的文件个数以及代码总行数的命令1、在Llinux中计算器命令?
linux中计算器命令?,地址,数据,位置,网络,设备,时间,环境,平台,软件,命令,说说常用的UNIX命令?命令:whoami格式:whoami功能:显示出当前终端上使用linux命令列出用户名?
linux命令列出用户名?,信息,地址,时间,系统,网络,命令,用户,数据,状态,管理,Linux显示当前用户名的命令是?cat /etc/shadow | grep *** #注意linux退出计算器命令?
linux退出计算器命令?,工作,地址,系统,命令,通信,信息,电脑,目录,路径,操作,基本linux命令1、linux系统常用操作命令如下:ls:全拼list,功能是列出重启计算机linux命令?
重启计算机linux命令?,系统,设备,工作,标准,名称,命令,状态,数据,服务,提示,Linux的重启命令有哪些linux重启命令有五个,分别如下:shutdown。powlinux查询函数命令?
linux查询函数命令?,系统,信息,名称,标准,函数,百度,代码,名字,最新,实时,Linux下查找一个函数在哪个库文件中1、默认状态下,gcc并不搜索数学库linux计算器打开命令?
linux计算器打开命令?,工作,地址,命令,标准,管理,系统,目录,路径,管道,控制台,基本linux命令1、clear:清空终端屏幕。history:显示已经执行的命