●写入程式码:
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。