Ich habe die folgende Formel, die ich in eine Funktion in VBA konvertieren möchte.Ersetzen Sie mehrere Instanzen von Zeichen in VBA
Ich habe ein paar Dinge ausprobiert, aber es kann einfach nicht richtig funktionieren. 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
auch diese Matrixformel wird tun, was Sie wollen: '= LEFT (B1, MIN (FIND ({ "(", ")", "-" , "/", ","}, B1 & "() - /,")) - 1) 'bestätigen mit Strg-Shift-Enter statt Enter. –