【发布时间】:2014-03-21 13:23:16
【问题描述】:
我在替换 Excel 工作表中的数据时遇到了一个大问题。主工作表中有超过 6000 个关键字和超过 300000 行。我必须在原始文本行的下一行替换这些关键字。我正在尝试这个公式:
Sub ReplaceExample()
Dim OriginalText As String
Dim CorrectedText As String
OriginalText = Range("A2").Value
CorrectedText = Replace(OriginalText, "left", "Left")
CorrectedText = Replace(OriginalText, "limited", "Limited")
Range("A2").Offset(, 1).Value = CorrectedText
End Sub
但是我遇到了Range() 的问题。
我在 Excel 表中有一个巨大的数据范围。
我可以对所有这些替换使用一个公式吗???
例如:这是原始文本单元格编号 (A2:A12) 的示例数据
00-00 Buick Lesabre (limited) headlight Set;
00-00 Buick Lesabre Tail Light left;
00-00 Buick Lesabre Tail Light Pair;
00-00 Buick lesabre tail Light Right;
00-00 Buick Lesabre Tail Light Set;
00-00 Dodge /Plymouth Neon Fog Light Pair;
00-00 Dodge caravan/Plymouth voyager/ Chrysler towncar(W/ Quad) Headlight Left;
00-00 Dodge Caravan/voyager /Towncar(W/O Quad&Dtrl)Headlight Set;
00-00 Dodge/Plymouth Neon Fog Light Left;
00-00 Dodge/Plymouth Neon Fog Light Right;
2000 Nissian 350z;
关键字单元格编号 (A2:A8)
Limited;
Left;
Lesabre;
Caravan;
Voyager;
350Z;
Towncar
我需要尽快解决。
【问题讨论】:
-
必须是 VBA 解决方案吗?为什么不直接使用 Control F 来执行查找/替换?
-
那么他必须这样做 6000 次对吗?
-
您将不得不合并 .FindNext 和 .Replace 来完成此操作。从本网站上的代码开始:msdn.microsoft.com/en-us/library/office/…
标签: vba excel excel-formula