Excel查找和replacemacros

我有一个工作表,可以导入我所有的订单,但是在创build标签时,我只有有限的标题空间。 我在Excel中使用了一个查找和replacemacros,它看起来在我当前的活动导入的工作表中,并replace了另一个工作表中的文本,我用它作为一个具有2列的表格,列A是导入时的标题和列B我想要改变它。 这个脚本工作得很好,除了它没有find具有不同开始的列。 例如:

导入的工作表:

条目1:BANANAS

条目2:30 X BANANAS

表:

A栏:香蕉

B栏:黄香蕉

//脚本运行//

输出:导入的工作表:

条目1:黄色香蕉

条目2:30 X BANANAS

正如你在上面的例子中看到的,“30 X BANANAS”条目不会变成“30 X Yellow Bananas”,就像我想要的那样。 我猜我需要添加一个通配符的代码行到我的脚本下面,但我不知道如何纳入它?

Sub FindReplace() Dim s As String Dim cell As Range For Each cell In Range("H3:H5000").Cells If cell <> "" Then ans = Application.VLookup(cell, Sheets("Script").Range("A1:B1000"), 2, 0) If Not IsError(ans) Then cell = ans End If Next cell End Sub 

如果您使用Range.Replace函数而不是VLookup函数,您将得到您正在寻找的结果。

之前

在这里输入图像说明

在这里输入图像说明

 Sub FindNReplace() Dim InputRng As Range, ReplaceRng As Range 'Set Range Values Set InputRng = Range("A1:A5") Set ReplaceRng = Sheets("Script").Range("A1:B100") 'Spin through replacement range and perform replace For Each Rng In ReplaceRng.Columns(1).Cells InputRng.Replace what:=Rng.Value, replacement:=Rng.Offset(0, 1).Value Next End Sub