Excel VBA复杂字符串替换

jay*_*jay 3 string excel vba excel-vba

有没有办法在字符串中查找子字符串然后替换该子字符串以及之前和之后的多个字符?

例如,我有这些:

Mandatory659852 y n n TRY RACE
Mechanica888654 y n n FRY SAME
GILLETE685254 y n n CRY FACE
Run Code Online (Sandbox Code Playgroud)

我可以编程VBA来删除子字符串," y n n "包括子字符串左边的6个字符以及它右边的3个字符吗?所以结果应该是:

"Mandatory RACE"
"Mechanica SAME"
"GILLETE FACE"
Run Code Online (Sandbox Code Playgroud)

我无法在Google上搜索,因为我不知道该术语是什么.我知道我可以在VBA中使用.replace来替换子字符串,但我不知道如何使用字符数量的外卡.replace(****** y n n ***)

use*_*820 10

VBA:

?用来匹配单个通配符.

只需突出显示单元格并运行此宏.

您也可以在"查找/替换"对话框中使用它.

Sub FixIt()
Selection.Replace "?????? y n n ???", "", xlPart
End Sub
Run Code Online (Sandbox Code Playgroud)

结果