-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。 –