如何用VBA的Selection.Replace仅将首个单词替换为'MNC.'而非'Which'
解决VBA中Selection.Replace替换首个单词的问题
你的现有代码逻辑完全偏离需求——它是把单元格里"Client Name"及之前的所有内容清空,自然没法实现把首个单词Which替换成MNC.的目标。
针对你的需求,直接修改Replace的参数即可,以下是两种常用场景的代码:
场景1:仅替换单元格开头的首个单词Which
这种情况会只把单元格内容最开头的Which替换成MNC.,不影响其他位置的Which:
Sub ReplaceFirstWord_TEST() ActiveCell.Columns("A:A").EntireColumn.Select Selection.Replace What:="^Which", Replacement:="MNC.", _ LookAt:=xlPart, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False End Sub
如果Which后面跟着空格,需要保留空格的话,调整参数为:What:="^Which ", Replacement:="MNC. "
场景2:替换所有独立的Which单词(非仅行首)
如果需要替换单元格内所有作为独立单词存在的Which,可以用单词边界通配符确保只替换整个单词:
Sub ReplaceAllWhich_TEST() ActiveCell.Columns("A:A").EntireColumn.Select Selection.Replace What:="\<Which\>", Replacement:="MNC.", _ LookAt:=xlPart, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False End Sub
内容的提问来源于stack exchange,提问作者Lijo Joseph
相关产品推荐
相关产品推荐

