2014-09-19 137 views
-2

试图确定正确的方式来完成一批发现和公式的替换取代,即Excel的VBA - 批量查找和公式

Worksheet 1有列ABA是查找列,B是替换列。

Worksheet 2有很多行和列有很多公式。这是我希望查找和替换实际发生的工作表。

我想让Excel查看Worksheet 2的公式,而不是值。

Worksheet 1中的值不是Worksheet 2中公式的全部内容,只是部分(我认为我需要使用xlPart)某处。

任何人都知道如何编写一个脚本,将去翻Worksheet 2为列为Worksheet 1值公式,列A,然后用值B替换列在同一行的Worksheet 1

+0

您是否尝试过部分解决方案?它看起来像你给我们这样的学校练习来解决你的问题...... – boisvert 2014-09-19 19:52:11

+0

这听起来像你想枚举使用Worksheet1列A中列出的功能的Worksheet2中的公式。如果在Worksheet1列A中列出了SUM,那么如果Worksheet2中有两个或更多'= SUM(...)'公式,会发生什么? – Jeeped 2014-09-20 02:29:56

回答

1

任何人都知道如何写一个脚本

那么最简单的方法就是通过VBA编辑器。 如果您打算定位整张Sheet 2,您将需要使用UsedRange属性。

之后,编写循环范围(使用UsedRange属性获得的公式)的公式并不困难。

在您的循环中,您将需要获取其公式,然后使用替换函数将替换字符串替换为搜索字符串的实例。如果您愿意,您可以在工作表1中循环,以执行多对替换步骤。

一旦你这样做了,你应该可以处理错误(除非你完全确定你的替换会始终导致一个好的公式),因为如果你尝试输入一个错误的公式,Excel会与你争论。如果没有太多的努力,这可能都可以在大约30行代码中完成(或者如果你足够棘手的话,可以少一些)。