在word里面把数字变成大写的金额,帮我写一段vba代码实现此功能

动态 未结 0 70
小小草
小小草 LV1 2023年9月23日 23:40 发表
以下是将数字转换为大写金额的VBA代码: ``` Sub ConvertToWords() Dim MyNumber As Currency Dim Dollars As String Dim Cents As String Dim Temp As String Dim DecimalPlace As Integer Dim Count As Integer ' Change this variable to the currency you want to use Const CurrencyName = "Dollars" ' Set up test values MyNumber = Range("A1").Value ' Check for zero value If MyNumber = 0 Then Range("B1").Value = "Zero " & CurrencyName Exit Sub End If ' Check for negative value If MyNumber < 0 Then MyNumber = Abs(MyNumber) Temp = "Negative " End If ' Convert number to string and locate decimal place Temp = Trim(Str(MyNumber)) DecimalPlace = InStr(Temp, ".") Count = Len(Temp) ' Extract dollars and cents If DecimalPlace > 0 Then Dollars = Left(Temp, DecimalPlace - 1) Cents = Mid(Temp, DecimalPlace + 1) Else Dollars = Temp Cents = "" End If ' Convert dollars to words If Len(Dollars) > 0 Then Temp = ConvertThreeDigits(Dollars) Select Case Len(Dollars) Case 1 Temp = Temp & " " & CurrencyName Case 2 Temp = Temp & " " & CurrencyName Case 3 Temp = Temp & " " & CurrencyName Case 4 To 6 Temp = Temp & " Thousand" If Len(Dollars) Mod 3 <> 0 Then Temp = Temp & " " End If Temp = Temp & ConvertThreeDigits(Right(Dollars, 3)) Temp = Temp & " " & CurrencyName Case 7 To 9 Temp = Temp & " Million" If Len(Dollars) Mod 6 <> 0 Then Temp = Temp & " " End If Temp = Temp & ConvertThreeDigits(Right(Dollars, 6)) If Len(Dollars) Mod 6 <> 0 Then Temp =
收藏(0)  分享
相关标签: 智能问答
问题没解决?让AI助手帮你作答 AI助手
0个回复
  • 消灭零回复