• 回答数

    7

  • 浏览数

    256

溪爱Mr彬
首页 > 英语培训 > 金额英语大写excel

7个回答 默认排序
  • 默认排序
  • 按时间排序

乖乖黑宝宝

已采纳

必须用VBA才能实现。请补充:(1)有美分时,百位和十位之间无AND,对吧?(2)1234567.56的格式是什么?即,百万和十万之间是否用AND。根据的规则,修改了微软提供的VBA代码。按Alt+F11,打开VBA窗口,点击插入、模块,将下列代码复制过去,然后可以在工作表中用=SpellNumber(A1)或=SpellNumber(234.56)的形式进行转换。代码:Option Explicit'Main FunctionFunction SpellNumber(ByVal MyNumber)Dim Dollars, Cents, TempDim DecimalPlace, CountReDim Place(9) As StringPlace(2) = " Thousand "Place(3) = " Million "Place(4) = " Billion "Place(5) = " Trillion "' String representation of amount.MyNumber = Trim(Str(MyNumber))' Position of decimal place 0 if none.DecimalPlace = InStr(MyNumber, ".")' Convert cents and set MyNumber to dollar amount.If DecimalPlace > 0 ThenCents = Right(MyNumber * 100, 2) * 1'GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & _"00", 2))MyNumber = Trim(Left(MyNumber, DecimalPlace - 1))End IfCount = 1Do While MyNumber <> ""Temp = GetHundreds(Right(MyNumber, 3))If Temp <> "" Then Dollars = Temp & Place(Count) & DollarsIf Len(MyNumber) > 3 ThenMyNumber = Left(MyNumber, Len(MyNumber) - 3)ElseMyNumber = ""End IfCount = Count + 1LoopSelect Case DollarsCase ""Dollars = "No Dollars"Case "One"Dollars = "One Dollar"Case ElseDollars = Dollars & " Dollars"End SelectSelect Case CentsCase ""Cents = " Only"Case ElseCents = " and " & Cents & "/100" & " Only"End SelectSpellNumber = "SAY U. S. DOLLARS " & Dollars & CentsEnd Function' Converts a number from 100-999 into textFunction GetHundreds(ByVal MyNumber)Dim Result As StringIf Val(MyNumber) = 0 Then Exit FunctionMyNumber = Right("000" & MyNumber, 3)' Convert the hundreds place.If Mid(MyNumber, 1, 1) <> "0" ThenResult = GetDigit(Mid(MyNumber, 1, 1)) & " Hundred "End If' Convert the tens and ones place.If Mid(MyNumber, 2, 1) <> "0" ThenResult = Result & GetTens(Mid(MyNumber, 2))ElseResult = Result & GetDigit(Mid(MyNumber, 3))End IfGetHundreds = ResultEnd Function' Converts a number from 10 to 99 into text.Function GetTens(TensText)Dim Result As StringResult = ""           ' Null out the temporary function value.If Val(Left(TensText, 1)) = 1 Then   ' If value between 10-19...Select Case Val(TensText)Case 10: Result = "Ten"Case 11: Result = "Eleven"Case 12: Result = "Twelve"Case 13: Result = "Thirteen"Case 14: Result = "Fourteen"Case 15: Result = "Fifteen"Case 16: Result = "Sixteen"Case 17: Result = "Seventeen"Case 18: Result = "Eighteen"Case 19: Result = "Nineteen"Case ElseEnd SelectElse                                 ' If value between 20-99...Select Case Val(Left(TensText, 1))Case 2: Result = "Twenty "Case 3: Result = "Thirty "Case 4: Result = "Forty "Case 5: Result = "Fifty "Case 6: Result = "Sixty "Case 7: Result = "Seventy "Case 8: Result = "Eighty "Case 9: Result = "Ninety "Case ElseEnd SelectResult = Result & GetDigit _(Right(TensText, 1))  ' Retrieve ones place.End IfGetTens = ResultEnd Function' Converts a number from 1 to 9 into text.Function GetDigit(Digit)Select Case Val(Digit)Case 1: GetDigit = "One"Case 2: GetDigit = "Two"Case 3: GetDigit = "Three"Case 4: GetDigit = "Four"Case 5: GetDigit = "Five"Case 6: GetDigit = "Six"Case 7: GetDigit = "Seven"Case 8: GetDigit = "Eight"Case 9: GetDigit = "Nine"Case Else: GetDigit = ""End SelectEnd Function

金额英语大写excel

266 评论(9)

麦当当5188

使用自定义函数

步骤:ALT+F11,插入模块,复制下方代码

然后在需要使用的地方输入公式:=SpellNumber(单元格地址)

效果图如下,B1公式为=SpellNumber(A1)

Function SpellNumber(ByVal MyNumber)

322 评论(14)

陶小唬同学

阿拉伯数字转换为英文大写金额,只能用VBA。

263 评论(15)

六月的橙子

抄来的答案:阿拉伯数字转成中文大写金额,其中A1为数字所在单元格,随需要调整:=IF(ISERROR(FIND(".",A1)),NUMBERSTRING(INT(A1),2)&"元整",IF(ISERROR(NUMBERSTRING(MID(A1,FIND(".",A1)+2,1),2)),NUMBERSTRING(INT(A1),2)&"元"&NUMBERSTRING(MID(A1,FIND(".",A1)+1,1),2)&"角整",NUMBERSTRING(INT(A1),2)&"元"&NUMBERSTRING(MID(A1,FIND(".",A1)+1,1),2)&"角"&NUMBERSTRING(MID(A1,FIND(".",A1)+2,1),2)&"分"))

282 评论(10)

sys19818888

B1公式下拉:

=SUBSTITUTE(SUBSTITUTE(IF(-RMB(A1,2),TEXT(A1,";负")&TEXT(INT(ABS(A1)+0.5%),"[dbnum2]G/通用格式圆;;")&TEXT(RIGHT(RMB(A1,2),2),"[dbnum2]0角0分;;整"),),"零角",IF(A1^2<1,,"零")),"零分","整")

350 评论(10)

童真记忆2008

Excel中利用numberstring公式将阿拉伯数字转换为大写数字

207 评论(12)

武装的蔷薇1

亲,您这些都是英文大写啊。。。还要怎么转换呢、楼上的太强大了,确实有个函数公式可以直接转换,但是我忘了,他的那么多,我都看不懂,好像excel设置单元格式---特殊--大小自己选。可是亲,您的英文大写???????好像还真心的只有那位强大的函数。。。

290 评论(10)

相关问答