【发布时间】:2013-10-16 22:36:16
【问题描述】:
我正在寻找一个可以查找和替换数据的 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 什么都不做;/所以已经被替换过的项目仍然被替换!有没有办法以某种方式完成这项工作?
【问题讨论】: