国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Microsoft Excel實現(xiàn)金額數(shù)字維文大寫轉(zhuǎn)換

2017-12-15 08:33艾合麥提尼亞孜艾合麥提江
和田師范??茖W校學報 2017年5期
關(guān)鍵詞:和田小寫大寫

艾合麥提尼亞孜·艾合麥提江

(和田師范??茖W校數(shù)學與信息學院,新疆 和田 848000)

Microsoft Excel實現(xiàn)金額數(shù)字維文大寫轉(zhuǎn)換

艾合麥提尼亞孜·艾合麥提江

(和田師范??茖W校數(shù)學與信息學院,新疆 和田 848000)

財務(wù)工作中經(jīng)常使用金額數(shù)字大寫,利用編程法可以方便地實現(xiàn)金額數(shù)字的維文大寫轉(zhuǎn)換。本文闡述了編寫SpellNumber函數(shù)并調(diào)用實現(xiàn)金額數(shù)字維文大寫的方法。

Microsoft Excel;金額數(shù)字維文大寫

一般會計工作中經(jīng)常會遇到貨幣金額小寫轉(zhuǎn)換成大寫的問題。比如說: 支票,發(fā)票,收款單,繳款單,借款單等都是使用金額大寫。一般制單人逐一輸入,輸入有點復(fù)雜,而且很難保證拼寫無誤,下面我們介紹,用Microsoft Excel自動轉(zhuǎn)換人民幣金額小寫轉(zhuǎn)換維文大寫的方法。

2. 需要解決的問題

在Microsoft Excel中實現(xiàn)人民幣金額小寫轉(zhuǎn)換維文大寫,存在以下兩個問題:

(一)辦公室自動化軟件里面沒有現(xiàn)成的函數(shù)。

(二)Microsoft Excel的Visual Basic代碼框不能直接寫維吾爾文。

為了解決以上的兩個問題我們在Microsoft Excel 中定義一個維文金額數(shù)大小寫轉(zhuǎn)換函數(shù),寫代碼時維吾爾文字母的ASCII碼提出來,然后用ChrW函數(shù)轉(zhuǎn)換維文,最后單元格里面顯示金額數(shù)維文大寫。

3. 實現(xiàn)維文金額小寫自動轉(zhuǎn)換大寫

先要打開Excel工作簿,然后單擊菜單欄選 “工具→宏→Visual Basic編輯器”。在“Visual Basic編輯器”窗口中選擇“插入→模塊”命令,窗口中輸入如下代碼:

Function SpellNumber(ByVal MyNumber)

Dim Dollars, Cents, Temp

Dim DecimalPlace, Count

ReDim Place(9) As String

Place(2) = ChrW(32) amp; ChrW(1605) amp; ChrW(1609) amp; ChrW(1709) amp; ChrW(32)

Place(3) = ChrW(32) amp; ChrW(1605) amp; ChrW(1609) amp; ChrW(1604) amp; ChrW(1610) amp; ChrW(1608) amp; ChrW(1606) amp; ChrW(32)

Place(4) = ChrW(32) amp; ChrW(1605) amp; ChrW(1609) amp; ChrW(1604) amp; ChrW(1610) amp; ChrW(1575) amp; ChrW(1585) amp; ChrW(1583) amp; ChrW(32)

Place(5) = ChrW(32) amp; ChrW(1578) amp; ChrW(1585) amp; ChrW(1604) amp; ChrW(1609) amp; ChrW(1610) amp; ChrW(1608) amp; ChrW(1606) amp; ChrW(32)

MyNumber = Trim(Str(MyNumber))

' Position of decimal place 0 if none.

DecimalPlace = InStr(MyNumber, “.”)

' Convert cents and set MyNumber to dollar amount.

If DecimalPlace gt; 0 Then

Cents = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) amp; _“00”, 2))

MyNumber = Trim(Left(MyNumber, DecimalPlace - 1))

End If

Count = 1

Do While MyNumber lt;gt; “”

Temp = GetHundreds(Right(MyNumber, 3))

If Temp lt;gt; “” Then Dollars = Temp amp; Place(Count) amp; Dollars

If Len(MyNumber) gt; 3 Then

MyNumber = Left(MyNumber, Len(MyNumber) - 3)

Else

MyNumber = “”

End If

Count = Count + 1

Loop

Dollars = Dollars amp; ChrW(32) amp; ChrW(1610) amp; ChrW(1736) amp; ChrW(1749) amp; ChrW(1606) amp; ChrW(32)

Select Case Cents

Case “”

Cents = “ ”

Case Else

Cents = Cents amp; ChrW(32) amp; ChrW(1662) amp; ChrW(1735) amp; ChrW(1709) amp; ChrW(32)

End Select

If Dollars = ChrW(32) amp; ChrW(1610) amp; ChrW(1736) amp; ChrW(1749) amp; ChrW(1606) amp; ChrW(32) Then

SpellNumber = Cents

Else

SpellNumber = Dollars amp; Cents

End If

End Function

' Converts a number from 100-999 into text

Function GetHundreds(ByVal MyNumber)

Dim Result As String

If Val(MyNumber) = 0 Then Exit Function

MyNumber = Right(“000” amp; MyNumber, 3)

' Convert the hundreds place.

If Mid(MyNumber, 1, 1) lt;gt; “0” Then

Result = GetDigit(Mid(MyNumber, 1, 1)) amp; ChrW(32) amp; ChrW(1610) amp; ChrW(1736) amp; ChrW(1586) amp; ChrW(32)

End If

' Convert the tens and ones place.

If Mid(MyNumber, 2, 1) lt;gt; “0” Then

Result = Result amp; GetTens(Mid(MyNumber, 2))

Else

Result = Result amp; GetDigit(Mid(MyNumber, 3))

End If

GetHundreds = Result

End Function

' Converts a number from 10 to 99 into text.

Function GetTens(TensText)

Dim Result As String

Result = “” ' Null out the temporary function value.

' If value between 10-99...

Select Case Val(Left(TensText, 1))

Case 1: Result = ChrW(1574) amp; ChrW(1608) amp; ChrW(1606) amp; ChrW(32)

Case 2: Result = ChrW(1610) amp; ChrW(1609) amp; ChrW(1711) amp; ChrW(1609) amp; ChrW(1585) amp; ChrW(1605) amp; ChrW(1749) amp; ChrW(32)

Case 3: Result = ChrW(1574) amp; ChrW(1608) amp; ChrW(1578) amp; ChrW(1578) amp; ChrW(1735) amp; ChrW(1586) amp; ChrW(32)

Case 4: Result = ChrW(1602) amp; ChrW(1609) amp; ChrW(1585) amp; ChrW(1609) amp; ChrW(1602) amp; ChrW(32)

Case 5: Result = ChrW(1574) amp; ChrW(1749) amp; ChrW(1604) amp; ChrW(1604) amp; ChrW(1609) amp; ChrW(1603) amp; ChrW(32)

Case 6: Result = ChrW(1574) amp; ChrW(1575) amp; ChrW(1578) amp; ChrW(1605) amp; ChrW(1609) amp; ChrW(1588) amp; ChrW(32)

Case 7: Result = ChrW(1610) amp; ChrW(1749) amp; ChrW(1578) amp; ChrW(1605) amp; ChrW(1609) amp; ChrW(1588) amp; ChrW(32)

Case 8: Result = ChrW(1587) amp; ChrW(1749) amp; ChrW(1603) amp; ChrW(1587) amp; ChrW(1749) amp; ChrW(1606) amp; ChrW(32)

Case 9: Result = ChrW(1578) amp; ChrW(1608) amp; ChrW(1602) amp; ChrW(1587) amp; ChrW(1575) amp; ChrW(1606) amp; ChrW(32)

Case Else

End Select

Result = Result amp; GetDigit _

(Right(TensText, 1)) ' Retrieve ones place.

GetTens = Result

End Function

' Converts a number from 1 to 9 into text.

Function GetDigit(Digit)

Select Case Val(Digit)

Case 1: GetDigit = ChrW(1576) amp; ChrW(1609) amp; ChrW(1585)

Case 2: GetDigit = ChrW(1574) amp; ChrW(1609) amp; ChrW(1603) amp; ChrW(1603) amp; ChrW(1609)

Case 3: GetDigit = ChrW(1574) amp; ChrW(1736) amp; ChrW(1670)

Case 4: GetDigit = ChrW(1578) amp; ChrW(1734) amp; ChrW(1578)

Case 5: GetDigit = ChrW(1576) amp; ChrW(1749) amp; ChrW(1588)

Case 6: GetDigit = ChrW(1574) amp; ChrW(1575) amp; ChrW(1604) amp; ChrW(1578) amp; ChrW(1749)

Case 7: GetDigit = ChrW(1610) amp; ChrW(1749) amp; ChrW(1578) amp; ChrW(1578) amp; ChrW(1749)

Case 8: GetDigit = ChrW(1587) amp; ChrW(1749) amp; ChrW(1603) amp; ChrW(1603) amp; ChrW(1609) amp; ChrW(1586)

Case 9: GetDigit = ChrW(1578) amp; ChrW(1608) amp; ChrW(1602) amp; ChrW(1602) amp; ChrW(1735) amp; ChrW(1586)

Case Else: GetDigit = “”

End Select

End Function

寫完代碼以后我們單擊保存,退出“Visual Basic編輯器”窗口。按照以上步驟我們已經(jīng)定義了一個實現(xiàn)維文金額小寫轉(zhuǎn)換成維文大寫的函數(shù),即SpellNumber 函數(shù)。

4. 使用宏代碼實現(xiàn)金額小寫轉(zhuǎn)換成大寫

如果我們在Excel工作簿中要實現(xiàn)維文大寫自動轉(zhuǎn)換,就是要調(diào)用SpellNumber 函數(shù)。比如:如果要把A列單元格人民幣金額小寫數(shù)字轉(zhuǎn)換成維文大寫并且在B列相應(yīng)的單元格顯示出來,那么首先在B2單元格中輸入=SpellNumber(A2)按Enter鍵。然后選B2單元格拖動填充手柄往下拉自動填充,直到A列單元格人民幣金額小寫數(shù)字都轉(zhuǎn)換成大寫。如果經(jīng)常使用人民幣小寫轉(zhuǎn)換成維文大寫,可以在窗口中由菜單欄單擊“另存為”命令,“另存為”對話框中另存為Excel加載宏,文件名為“人民幣金額維文大寫轉(zhuǎn)換.xla”以便使用。

5. 函數(shù)的特征

(一)人民幣金額數(shù)不管是在文本格式還是數(shù)字格式都可以自動轉(zhuǎn)換。

(二)人民幣金額數(shù)小數(shù)點后部分自動四舍五入保留兩位小數(shù)。

(三)容易理解,使用方便。

(四)有利于促進人民幣金額數(shù)大寫的規(guī)范。

(五)有利于提高財務(wù)人員工作效率,節(jié)省時間。

[1] 李東海,龍建祥,高建平. Excel 2010實戰(zhàn)辦公技巧精粹[M].北京:兵器工業(yè)出版社,2012:501-513.

2017-09-20

艾合麥提尼亞孜·艾合麥提江(1987-),男,維吾爾族,新疆和田人,理學碩士研究生,和田師范專科學校數(shù)學與信息學院教師。研究方向:數(shù)值泛函、計算機文字信息處理。

猜你喜歡
和田小寫大寫
做一個大寫的“我”
大寫的厲害:“00后”少年自制火箭成功上天
和田出土《法華經(jīng)》古藏譯本的初步研究報告(二)
本刊對來稿中統(tǒng)計學符號書寫要求
本刊對來稿中統(tǒng)計學符號書寫要求
“大寫”與“大些”
本刊對來稿中統(tǒng)計學符號書寫要求
—個大寫的pink 該入手的都來了
試論現(xiàn)代維吾爾語和田方言的土語劃分
醫(yī)學期刊中常用的統(tǒng)計學符號
海林市| 来安县| 鄂伦春自治旗| 甘孜县| 呈贡县| 富民县| 金阳县| 安徽省| 镇坪县| 胶南市| 新绛县| 治县。| 江城| 武宣县| 阿坝| 磐石市| 商丘市| 乡城县| 文山县| 平凉市| 措勤县| 莎车县| 瑞丽市| 修文县| 旺苍县| 琼海市| 莲花县| 林甸县| 布尔津县| 苗栗市| 扎囊县| 临邑县| 汽车| 新蔡县| 左权县| 阳朔县| 乌审旗| 芦溪县| 鹤山市| 内江市| 哈密市|