实际应用中大多数需求都是阿拉伯数字转 大写人民币
很少有反过来的需求。
可是,有轮子用它不香吗>.<
Sub ChangeMoneyToNum()
Dim reg As Object, arr, b$, a
arr = Range("a1:a" & [a65536].End(xlUp).Row)
For i = 1 To UBound(arr)
a = Split(arr(i, 1), "元")
k = Len(arr(i, 1))
If Right(a(0), 1) = "佰" Then a(0) = a(0) & "零零": k = k + 2
If Right(a(0), 1) = "拾" Then a(0) = a(0) & "零": k = k + 1
a(0) = a(0) & "."
a = Join(a, "")
Do While x < k
x = x + 1
Select Case Mid(a, x, 1)
Case "壹"
b = b & 1
Case "贰"
b = b & 2
Case "叁"
b = b & 3
Case "肆"
b = b & 4
Case "伍"
b = b & 5
Case "陆"
b = b & 6
Case "柒"
b = b & 7
Case "捌"
b = b & 8
Case "玖"
b = b & 9
Case "零"
b = b & 0
Case "万"
b = b & ""
Case "仟"
b = b & ""
Case "佰"
b = b & ""
Case "拾"
b = b & ""
Case "角"
b = b & ""
Case "分"
b = b & ""
Case "."
b = b & "."
End Select
Loop
Range("a" & i) = "¥" & b & "元"
b = "": a = "": x = 0
Next
End Sub