我正在寻找一个可以查找和替换数据的 excel 脚本,但是出于对一切的热爱,我无法弄清楚如何编写它。
情况:
A------------B------------C
猫--------狗-----香蕉
狗-----鱼-----苹果
鱼------猫------橙色
因此,宏将查看 B 列中的单元格中的数据,然后查看 C 列中的相邻单元格,并将 A 列中该数据的所有实例替换为如果在 C 中找到的内容。因此结果将是:
A---------------B------------C
橙--------狗-----香蕉
香蕉-----鱼------苹果
苹果--------猫--------橙
但这还不是全部,我希望它不要更改 A 中已经更改过一次的单元格!(我正在尝试更改背景颜色)
有什么帮助吗?我完全不知所措。
编辑:
好的,我发现了如何做简单的部分(更换),但我不知道如何不更改已经更改过一次的单元格。这是我的代码:
Sub multiFindNReplace()
Dim myList, myRange
Set myList = Sheets("sheet1").Range("A2:B3") 'two column range where find/replace pairs are
Set myRange = Sheets("sheet1").Range("D2:D5") 'range to be searched
For Each cel In myList.Columns(1).Cells
myRange.Replace what:=cel.Value, replacement:=cel.Offset(0, 1).Value, ReplaceFormat:=True
Next cel
End Sub
据我所知, ReplaceFormat:=True 没有做任何事情;/所以已经被替换过的项目仍然被替换!有没有办法以某种方式使这项工作?