Excel - VBA:自动将单词替换为另一个单词(使用What / Replacement)

时间:2013-06-10 02:17:48

标签: excel vba replace

我希望我的代码能够通过其他单词自动替换列表中的某些单词。 到目前为止,我找到了如何将一个单词替换为另一个单词。例如,如果我想用“Ave”这个词取代“Avenue”这个词。我用:

Worksheets("sMain").Columns("D").Replace _
What:="Avenue", Replacement:="Ave.", _
SearchOrder:=xlByColumns, MatchCase:=True

有效。 现在,我想通过将一个以上的单词替换为另一个单词来提高效率。例如,如果我输入“Avenue”或“avenue”或“ave。”,它将被“Ave.”替换。 我一直在尝试这个但没有成功(编译错误):

Worksheets("sMain").Columns("D").Replace _
What:="Avenue", Replacement:="Ave.", _
What:="avenue", Replacement:="Ave.", _
What:="ave.", Replacement:="Ave.", _
SearchOrder:=xlByColumns, MatchCase:=True

有关如何使其成为可能的任何想法? 感谢

1 个答案:

答案 0 :(得分:2)

你可以像这样循环

ary = Array("Avenue", "avenue", "ave.")
For Each wd In ary
    Columns("D").Replace What:=wd, Replacement:="Ave.", SearchOrder:=xlByColumns, MatchCase:=True
Next

您可能还希望将MatchCase设置为False,因为您不需要两个大写和小写的“avenue”。