我有一个导入我所有订单的工作表,但是在创建标签时,我只有有限的空间用于标题。我正在使用Find&替换Excel中的宏,它查找当前活动的导入工作表,并替换为另一个工作表中的文本,我用作具有2列的表,列A是导入时的标题,列B是我想要将其更改为。此脚本工作正常,但它找不到具有不同开头的列。例如:
导入的工作表:
参赛作品1:BANANAS
条目2:30 X BANANAS
表:
A栏:BANANAS
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
答案 0 :(得分:0)
如果您使用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