-1
我有下面的公式,我想将其转换为VBA中的函数。替换VBA中的多个字符实例
=IFERROR(LEFT(B1,(FIND(",",SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(B1,"(",","),"-",","),"/",","))-1)),SUBSTITUTE(B1,".", ""))
我已经尝试了一些东西,但只是不能让它正常工作。 Test
Function CharacterSwap(text)
Dim Old As Variant
Dim Comma As Variant
Old = Array(")", "(", "-", "/")
Comma = Array(",", ",", ",", ",")
For i = LBound(Old) To UBound(Comma)
If InStr(1, text, Old(i), vbBinaryCompare) > 0 Then
CharacterSwap = Replace(text, Old(i), Comma(i), 1, 1, vbBinaryCompare)
End If
Next i
End Function
Function SCRUB(text)
If InStr(1, CharacterSwap(text), ",", vbBinaryCompare) > 0 Then
SCRUB = Left((CharacterSwap(text)), InStr(1, (CharacterSwap(text)), ",") - 1)
Else
SCRUB = text
End If
End Function
也是这个数组公式会做你想要什么:'= LEFT(B1,MIN(FIND({ “(” “)”, “ - ” ,“/”,“,”},B1&“() - /,”)) - 1)'用Ctrl-shift-Enter确认而不是Enter。 –