●建立D2T巨集,并把快速键设为Shift Ctrl T。
●写入程式码:
SubD2T() DimMyStrAsString MyStr=ActiveCell.Text
IfIsNumeric(MyStr)=TrueThen ActiveCell.Value=""
SelectCaseLen(MyStr) Case1 OneDG(MyStr) Case2 TwoDG(MyStr) Case3 ThreeDG(MyStr) Case4 OneDG(Left(MyStr,1)) ActiveCell.Value=ActiveCell.Value "Thousand" ThreeDG(Right(MyStr,3)) Case5 TwoDG(Left(MyStr,2)) ActiveCell.Value=ActiveCell.Value "Thousand" ThreeDG(Right(MyStr,3)) Case6 ThreeDG(Left(MyStr,3)) ActiveCell.Value=ActiveCell.Value "Thousand" ThreeDG(Right(MyStr,3)) Case7 OneDG(Left(MyStr,1)) ActiveCell.Value=ActiveCell.Value "Millon" ThreeDG(Mid(MyStr,2,3)) ActiveCell.Value=ActiveCell.Value "Thousand" ThreeDG(Right(MyStr,3)) Case8 TwoDG(Left(MyStr,2)) ActiveCell.Value=ActiveCell.Value "Millon" ThreeDG(Mid(MyStr,3,3)) ActiveCell.Value=ActiveCell.Value "Thousand" ThreeDG(Right(MyStr,3)) Case9 ThreeDG(Left(MyStr,3)) ActiveCell.Value=ActiveCell.Value "Millon" ThreeDG(Mid(MyStr,4,3)) ActiveCell.Value=ActiveCell.Value "Thousand" ThreeDG(Right(MyStr,3)) Case10 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)) Case11 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)) CaseElse EndSelect EndIf EndSub
SubOneDG(MyStrAsString) SelectCaseMyStr Case"0" IfActiveCell.Value=""ThenActiveCell.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" EndSelect EndSub
SubTwoDG(MyStrAsString) SelectCaseMyStr 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" CaseElse SelectCaseLeft(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" EndSelect OneDG(Right(MyStr,1)) EndSelect
EndSub
SubThreeDG(MyStrAsString) SelectCaseLeft(MyStr,1) Case"1" ActiveCell.Value=ActiveCell.Value "OneHandred" Case"2" ActiveCell.Value=ActiveCell.Value "TwoHandred" Case"3" ActiveCell.Value=ActiveCell.Value "ThreeHandred" Case"4" ActiveCell.Value=ActiveCell.Value "FourHandred" Case"5" ActiveCell.Value=ActiveCell.Value "FiveHandred" Case"6" ActiveCell.Value=ActiveCell.Value "SixHandred" Case"7" ActiveCell.Value=ActiveCell.Value "SevenHandred" Case"8" ActiveCell.Value=ActiveCell.Value "EightHandred" Case"9" ActiveCell.Value=ActiveCell.Value "NightHandred" EndSelect TwoDGRight(MyStr,2) EndSub ●上面的程式码可以处理到11位数。●随意输入一个未超过11位数的数字,然后把输入游标移到该Cell里。
●一同按下Shift Ctrl T。->
|