我需要从以下字符串中提取以下部分CDA-CUP-PF: MECH〜CDA-CUP-PF〜1-CUP0915.2XL-减铜剂(P) 文字
AddFormula TopLeft.Offset(1, 3).Resize(RowCount, 1), "=IFERROR(RIGHT(AA" & Row & ",FIND(""~"",AA" & Row & ")-1,FIND(""^"",AA" & Row & ")+1-FIND(""-"",AA" & Row & ")),"""")"
这是我现在看到的:MECH ^ CHU 我需要看一下:CDA-CUP-PF 我需要使用上面的VBA代码。
答案 0 :(得分:1)
假设您的模式将~
之间的文本隔离,公式解决方案是:
=MID(A1,FIND("~",A1)+2,FIND("~",A1,FIND("~",A1)+1)-FIND("~",A1)-3)
VBA - UDF
解决方案看起来像这样
Public Function Isolate(x As Range)
Dim xString: xString = Split(x, "~")
Isolate = xString(1)
End Function
答案 1 :(得分:0)
此公式将满足您的要求:=TRIM(MID(SUBSTITUTE(A1,"~",REPT(" ",255)),255,255))
它的工作原理是将~
替换为255个空格,然后从255个字符中切出255个字符(这保证我们得到了您想要的),然后修剪出多余的空格。
如果需要其他部分,请使用向左或向右而不是中间。
UDF是一个更好的选择,尤其是当您已经从代码中执行此操作时。