手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>程序设计>VB>列表

把数字转成英文字

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!
●建立D2T巨集,并把快速键设为Shift Ctrl T。


●写入程式码:

Sub D2T()
Dim MyStr As String
MyStr = ActiveCell.Text

If IsNumeric(MyStr) = True Then
ActiveCell.Value = ""

Select Case Len(MyStr)
Case 1
OneDG (MyStr)
Case 2
TwoDG (MyStr)
Case 3
ThreeDG (MyStr)
Case 4
OneDG (Left(MyStr, 1))
ActiveCell.Value = ActiveCell.Value " Thousand "
ThreeDG (Right(MyStr, 3))
Case 5
TwoDG (Left(MyStr, 2))
ActiveCell.Value = ActiveCell.Value " Thousand "
ThreeDG (Right(MyStr, 3))
Case 6
ThreeDG (Left(MyStr, 3))
ActiveCell.Value = ActiveCell.Value " Thousand "
ThreeDG (Right(MyStr, 3))
Case 7
OneDG (Left(MyStr, 1))
ActiveCell.Value = ActiveCell.Value " Millon "
ThreeDG (Mid(MyStr, 2, 3))
ActiveCell.Value = ActiveCell.Value " Thousand "
ThreeDG (Right(MyStr, 3))
Case 8
TwoDG (Left(MyStr, 2))
ActiveCell.Value = ActiveCell.Value " Millon "
ThreeDG (Mid(MyStr, 3, 3))
ActiveCell.Value = ActiveCell.Value " Thousand "
ThreeDG (Right(MyStr, 3))
Case 9
ThreeDG (Left(MyStr, 3))
ActiveCell.Value = ActiveCell.Value " Millon "
ThreeDG (Mid(MyStr, 4, 3))
ActiveCell.Value = ActiveCell.Value " Thousand "
ThreeDG (Right(MyStr, 3))
Case 10
OneDG (Left(MyStr, 1))
ActiveCell.Value = ActiveCell.Value " Billon "
ThreeDG (Mid(MyStr, 2, 3))
ActiveCell.Value = ActiveCell.Value " Millon "
ThreeDG (Mid(MyStr, 5, 3))
ActiveCell.Value = ActiveCell.Value " Thousand "
ThreeDG (Right(MyStr, 3))
Case 11
TwoDG (Left(MyStr, 2))
ActiveCell.Value = ActiveCell.Value " Billon "
ThreeDG (Mid(MyStr, 3, 3))
ActiveCell.Value = ActiveCell.Value " Millon "
ThreeDG (Mid(MyStr, 6, 3))
ActiveCell.Value = ActiveCell.Value " Thousand "
ThreeDG (Right(MyStr, 3))
Case Else
End Select
End If
End Sub

Sub OneDG(MyStr As String)
Select Case MyStr
Case "0"
If ActiveCell.Value = "" Then ActiveCell.Value = ActiveCell.Value "Zero"
Case "1"
ActiveCell.Value = ActiveCell.Value "One"
Case "2"
ActiveCell.Value = ActiveCell.Value "Two"
Case "3"
ActiveCell.Value = ActiveCell.Value "Three"
Case "4"
ActiveCell.Value = ActiveCell.Value "Four"
Case "5"
ActiveCell.Value = ActiveCell.Value "Five"
Case "6"
ActiveCell.Value = ActiveCell.Value "Six"
Case "7"
ActiveCell.Value = ActiveCell.Value "Seven"
Case "8"
ActiveCell.Value = ActiveCell.Value "Eight"
Case "9"
ActiveCell.Value = ActiveCell.Value "Nine"
End Select
End Sub

Sub TwoDG(MyStr As String)
Select Case MyStr
Case "10"
ActiveCell.Value = ActiveCell.Value "Ten"
Case "11"
ActiveCell.Value = ActiveCell.Value "eleven"
Case "12"
ActiveCell.Value = ActiveCell.Value "Twelve"
Case "13"
ActiveCell.Value = ActiveCell.Value "Thirteen"
Case "14"
ActiveCell.Value = ActiveCell.Value "Fourteen"
Case "15"
ActiveCell.Value = ActiveCell.Value "Fifteen"
Case "16"
ActiveCell.Value = ActiveCell.Value "Sixteen"
Case "17"
ActiveCell.Value = ActiveCell.Value "Seventeen"
Case "18"
ActiveCell.Value = ActiveCell.Value "Eighteen"
Case "19"
ActiveCell.Value = ActiveCell.Value "Nineteen"
Case Else
Select Case Left(MyStr, 1)
Case "2"
ActiveCell.Value = ActiveCell.Value "Twenty "
Case "3"
ActiveCell.Value = ActiveCell.Value "Thirty "
Case "4"
ActiveCell.Value = ActiveCell.Value "Forty "
Case "5"
ActiveCell.Value = ActiveCell.Value "Fifty "
Case "6"
ActiveCell.Value = ActiveCell.Value "Sixty "
Case "7"
ActiveCell.Value = ActiveCell.Value "Seventy "
Case "8"
ActiveCell.Value = ActiveCell.Value "Eighty "
Case "9"
ActiveCell.Value = ActiveCell.Value "Ninety "
End Select
OneDG (Right(MyStr, 1))
End Select

End Sub

Sub ThreeDG(MyStr As String)
Select Case Left(MyStr, 1)
Case "1"
ActiveCell.Value = ActiveCell.Value "One Handred "
Case "2"
ActiveCell.Value = ActiveCell.Value "Two Handred "
Case "3"
ActiveCell.Value = ActiveCell.Value "Three Handred "
Case "4"
ActiveCell.Value = ActiveCell.Value "Four Handred "
Case "5"
ActiveCell.Value = ActiveCell.Value "Five Handred "
Case "6"
ActiveCell.Value = ActiveCell.Value "Six Handred "
Case "7"
ActiveCell.Value = ActiveCell.Value "Seven Handred "
Case "8"
ActiveCell.Value = ActiveCell.Value "Eight Handred "
Case "9"
ActiveCell.Value = ActiveCell.Value "Night Handred "
End Select
TwoDG Right(MyStr, 2)
End Sub
●上面的程式码可以处理到11位数。 ●随意输入一个未超过11位数的数字,然后把输入游标移到该Cell里。

●一同按下 Shift Ctrl T。

上一篇: 切分字符串

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!