我使用以下代码来查找和替换excel中文本字符串中的某些单词。我遇到的问题是代码重新替换已经被替换的单词。例如,如果我有一个文本字符串
“这个男孩骑着他的自行车沿着车道行驶,然后骑回他的车道”
在我的列表中我有
A B
cycle bike
bike cycle
我想将“自行车”一词改为“循环”,然后将句子中的另一个词“循环”改为“自行车”。
所以我想从这个
获得“这个男孩骑着他的自行车沿着车道行驶,然后骑回他的车道”
到这个
“这个男孩沿着车道骑行,然后骑回自行车”
当我运行代码时,它会将两个单词转换为自行车,这是合乎逻辑的,因为它会找到“先循环并将其更改为自行车”,然后因为它将其更改为自行车,然后它将替换两个实例以循环制作“那个男孩骑着他的自行车沿着车道行驶,然后骑回他的车道“
所以基本上一旦单词被替换,我不希望代码再次替换它?
Sub MultiFindNReplace()
Dim Rng As Range
Dim InputRng As Range, ReplaceRng As Range
xTitleId = "KutoolsforExcel"
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Original Range ", xTitleId, InputRng.Address, Type:=8)
Set ReplaceRng = Application.InputBox("Replace Range :", xTitleId, Type:=8)
Application.ScreenUpdating = False
For Each Rng In ReplaceRng.Columns(1).Cells
InputRng.Replace what:=Rng.Value, replacement:=Rng.Offset(0, 1).Value
Next
Application.ScreenUpdating = True
End Sub
非常感谢