Option Explicit
Public Function convertAmount(a)
a = CStr(a)
Dim re : Set re = new RegExp
' Replace millions
re.Pattern ="(,\d{3}){2}$"
a = re.replace(a, "m")
' Replace kilo's
re.Pattern =",\d{3}$"
a = re.replace(a, "k")
convertAmount = a
End Function
' Testcode
MsgBox convertAmount("1,234,567")
Может быть, это не сработает для целых чисел, потому что я никогда не видел целых чисел с форматированием разделителя тысяч.Просто поместите знак вопроса в регулярных выражениях за запятой, и он также будет работать для чисел без тысяч разделителей.Как: "(,?\d{3}){2}$"
и ",?\d{3}$"
Ограничения: Нет округления, только объединение результатов