Excel如何数字转换为英文

睡不着的深夜 提问于2024-06-04 14:12:40
推荐回答

数字转换为英文对于英语比较差的同学来说是很难的一件事情,我们能不能用VBA代码来轻松实现这个过程呢?现在我们就用ExcelVba代码来实现这个操作。

编写代码:

新建如图所示的Excel表格,我们讲吧A列中的数字用英文的形式转换到B列中。

按住“Alt+F11”打开VBA编辑器,如图所示。

在VBA编辑器中单击菜单栏“插入”——模块,如图所示。

在打开的模块中输入如下代码:Option ExplicitFunction 数字转英文(ByVal MyNumber)Dim Dollars, Cents, TempDim DecimalPlace, CountReDim Place(9) As StringPlace(2) = " Thousand "Place(3) = " Million "Place(4) = " Billion "Place(5) = " Trillion "MyNumber = Trim(Str(MyNumber))DecimalPlace = InStr(MyNumber, "")If DecimalPlace >0 ThenCents = 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 = " and No Cents"Case "One"Cents = " and One Cent"Case ElseCents = " and " & Cents & " Cents"End Select数字转英文 = Dollars & CentsEnd FunctionFunction GetHundreds(ByVal MyNumber)Dim Result As StringIf Val(MyNumber) = 0 Then Exit FunctionMyNumber = Right("000" & MyNumber, 3)If Mid(MyNumber, 1, 1)<>"0" ThenResult = GetDigit(Mid(MyNumber, 1, 1)) & " Hundred "End IfIf Mid(MyNumber, 2, 1)<>"0" ThenResult = Result & GetTens(Mid(MyNumber, 2))ElseResult = Result & GetDigit(Mid(MyNumber, 3))End IfGetHundreds = ResultEnd FunctionFunction GetTens(TensText)Dim Result As StringResult = ""If Val(Left(TensText, 1)) = 1 ThenSelect 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 SelectElseSelect 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))End IfGetTens = ResultEnd FunctionFunction 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表格中,单击“B1”单元格,在菜单栏选择“插入”——函数。

在打开的“插入函数”对话框的“或选择类别”中选择“用户定义”,然后选择函数“数字转英文”,单击“确定”按钮。

在打开的“函数参数”对话框中输入“A1”,单击“确定”按钮。

然后用填充手柄向下填充公式,现在就可以看到转换好的英文了。

睡不着的深夜 2024-06-07 10:14:34

相关推荐

生长素的发现及作用 发布时间 2024-06-19

生长素,一个我们经常能够听到的名词。生长素一种植物激素。生长素最明显的作用是促进生长,但对茎、芽、根生长的促进作用因浓度而异。生长素还有促进愈伤组织形成和诱导生根的作用。生长素的作用是多部位的,主要参与细胞壁的形成和核酸代谢。生长素具有强大的功效,尤其是能够有利于植物的生长,这将有利于我们的生存,能够改善我们的生活...
查看全文>

方脸女生头发怎么扎好看又简单 发布时间 2024-06-19

爱美的女孩都想扎出好看的发型,方脸女孩子也不例外,那么方脸适合扎什么发型呢?今天就给大家推荐几款方脸女孩扎起来也好看,还修饰脸型的简单的扎发方法吧!齐刘海侧边麻花辫马尾方脸的女孩子可以考虑田园风的这款齐刘海的侧边麻花辫马尾扎发,还是非常适合春天的一款发型。整齐的刘海非常的修颜,而麻花辫的设计更为的可爱和显小,还可以...
查看全文>

小腹疼不来月经是什么原因导致的? 发布时间 2024-06-19

女性首次来*经就提示着正式进入了青春期,正常情况下女性每个月都会来一次*经,有些人还会出现痛经的现象。但是在我们生活中还有一些人在肚子疼的时候*经并没有正常的到来。可以看出这是不正常的一种现象,但是具体是什么原因导致的小腹疼并且不来*经呢,哪些就让小编慢慢告诉你吧!如果女性只是简单的不来*经,自己可以做早孕试纸检查...
查看全文>

有什么治痛经的办法? 发布时间 2024-06-19

女人每个月总有那么几天是最痛苦的,*经期间不仅要禁口,还不能剧烈运动,对于那些不痛经的女性这几天还好过点,只是有点麻烦。而对于那些痛经非常严重的女性来说那几日真是度日如年,疼痛起来可以让你在床上打滚,甚至吃止疼药,每次都吃药对身体伤害是很大的,那么有什么治痛经的办法呢?一、青春期最容易出现痛经*经初潮的女孩由于缺乏...
查看全文>

感冒了怎么办 常吃香菇可防感冒 发布时间 2024-06-19

感冒一年四季都可以发生,预防感冒的方法有很多,其中,喝香菇汤预防感冒便是一种非常方便且易于接受的方法。在感冒易发季节流行的时候,应适当增加香菇的食量,可以预防感冒。今天小编就给大家带来香菇的知识。常吃香菇可防感冒香菇中含有蘑菇核糖核酸,对感冒病毒有防御作用。感冒一年四季都可以发生,特别是老年人、婴幼儿和体弱多病者更...
查看全文>

优选推荐

痘痘肌用什么补水好 用什么面膜好

DIY 美肤蔬果汁

夏季养生 夏季吃什么好

lush薄荷清洁面膜保质期 多久用一次

包臀裙怎么搭配