用不同的字符replace第一次和第二次出现

我有一个批量replace的vba代码。

我希望(etheir通过VBA或公式)为每个单元格replace“%”的第一次出现与“(”和“%”的第二次出现用“)”。

我在B列有我的数据

这是我的VBA代码:

Sub Multi_FindReplace() Dim sht As Worksheet Dim fndList As Variant Dim rplcList As Variant Dim x As Long fndList = Array("_", "VOSTFR.mp4", "VF.mp4") rplcList = Array(" ", "VOSTFR", "VF") 'Loop through each item in Array lists For x = LBound(fndList) To UBound(fndList) 'Loop through each worksheet in ActiveWorkbook For Each sht In ActiveWorkbook.Worksheets sht.Cells.Replace What:=fndList(x), Replacement:=rplcList(x), _ LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, _ SearchFormat:=False, ReplaceFormat:=False Next sht Next x End Sub 

谢谢 ! 🙂

Cell C1input以下公式之一:

 =SUBSTITUTE(SUBSTITUTE(B1,"%","(",1),"%",")",1) 

要么

 =REPLACE(REPLACE(B1,FIND("%",B1),1,"("),FIND("%",REPLACE(B1,FIND("%",B1),1,"(")),1,")") 

根据需要拖放/复制。 请参阅图片以供参考。

在这里输入图像说明

如果less于2 % ,公式会抛出错误。 所以为了避免错误在公式中使用IFERROR

 =IFERROR(REPLACE(REPLACE(B1,FIND("%",B1),1,"("),FIND("%",REPLACE(B1,FIND("%",B1),1,"(")),1,")"),"")