Note: The other languages of the website are Google-translated. Back to English

如何在Excel中將數字轉換為印度盧比的單詞?

本文,我將介紹如何在Excel中將數字列表轉換為印度盧比或英語的單詞。

使用VBA代碼將數字轉換為印度盧比的單詞

具有驚人功能的將數字轉換為英文單詞


使用VBA代碼將數字轉換為印度盧比的單詞

以下VBA代碼可以幫助您將數字轉換為盧比的單詞,請按以下步驟操作:

1。 按住 ALT + F11 鍵打開 Microsoft Visual Basic for Applications 窗口。

2。 點擊 插入 > 模塊,然後將以下代碼粘貼到“模塊窗口”中。

VBA代碼:將數字轉換為盧比的單詞

Public Function RupeeFormat(SNum As String)
'Updateby Extendoffice
Dim xDPInt As Integer
Dim xArrPlace As Variant
Dim xRStr_Paisas As String
Dim xNumStr As String
Dim xF As Integer
Dim xTemp As String
Dim xStrTemp As String
Dim xRStr As String
Dim xLp As Integer
xArrPlace = Array("", "", " Thousand ", " Lacs ", " Crores ", " Trillion ", "", "", "", "")
On Error Resume Next
If SNum = "" Then
  RupeeFormat = ""
  Exit Function
End If
xNumStr = Trim(str(SNum))
If xNumStr = "" Then
  RupeeFormat = ""
  Exit Function
End If

xRStr = ""
xLp = 0
If (xNumStr > 999999999.99) Then
    RupeeFormat = "Digit excced Maximum limit"
    Exit Function
End If
xDPInt = InStr(xNumStr, ".")
If xDPInt > 0 Then
    If (Len(xNumStr) - xDPInt) = 1 Then
       xRStr_Paisas = RupeeFormat_GetT(Left(Mid(xNumStr, xDPInt + 1) & "0", 2))
    ElseIf (Len(xNumStr) - xDPInt) > 1 Then
       xRStr_Paisas = RupeeFormat_GetT(Left(Mid(xNumStr, xDPInt + 1), 2))
    End If
        xNumStr = Trim(Left(xNumStr, xDPInt - 1))
    End If
    xF = 1
    Do While xNumStr <> ""
        If (xF >= 2) Then
            xTemp = Right(xNumStr, 2)
        Else
            If (Len(xNumStr) = 2) Then
                xTemp = Right(xNumStr, 2)
            ElseIf (Len(xNumStr) = 1) Then
                xTemp = Right(xNumStr, 1)
            Else
                xTemp = Right(xNumStr, 3)
            End If
        End If
        xStrTemp = ""
        If Val(xTemp) > 99 Then
            xStrTemp = RupeeFormat_GetH(Right(xTemp, 3), xLp)
            If Right(Trim(xStrTemp), 3) <> "Lac" Then
            xLp = xLp + 1
            End If
        ElseIf Val(xTemp) <= 99 And Val(xTemp) > 9 Then
            xStrTemp = RupeeFormat_GetT(Right(xTemp, 2))
        ElseIf Val(xTemp) < 10 Then
            xStrTemp = RupeeFormat_GetD(Right(xTemp, 2))
        End If
        If xStrTemp <> "" Then
            xRStr = xStrTemp & xArrPlace(xF) & xRStr
        End If
        If xF = 2 Then
            If Len(xNumStr) = 1 Then
                xNumStr = ""
            Else
                xNumStr = Left(xNumStr, Len(xNumStr) - 2)
            End If
       ElseIf xF = 3 Then
            If Len(xNumStr) >= 3 Then
                 xNumStr = Left(xNumStr, Len(xNumStr) - 2)
            Else
                xNumStr = ""
            End If
        ElseIf xF = 4 Then
          xNumStr = ""
    Else
        If Len(xNumStr) <= 2 Then
        xNumStr = ""
    Else
        xNumStr = Left(xNumStr, Len(xNumStr) - 3)
        End If
    End If
        xF = xF + 1
Loop
    If xRStr = "" Then
       xRStr = "No Rupees"
    Else
       xRStr = " Rupees " & xRStr
    End If
    If xRStr_Paisas <> "" Then
       xRStr_Paisas = " and " & xRStr_Paisas & " Paisas"
    End If
    RupeeFormat = xRStr & xRStr_Paisas & " Only"
    End Function
Function RupeeFormat_GetH(xStrH As String, xLp As Integer)
Dim xRStr As String
If Val(xStrH) < 1 Then
    RupeeFormat_GetH = ""
    Exit Function
Else
   xStrH = Right("000" & xStrH, 3)
   If Mid(xStrH, 1, 1) <> "0" Then
        If (xLp > 0) Then
         xRStr = RupeeFormat_GetD(Mid(xStrH, 1, 1)) & " Lac "
        Else
         xRStr = RupeeFormat_GetD(Mid(xStrH, 1, 1)) & " Hundred "
        End If
    End If
    If Mid(xStrH, 2, 1) <> "0" Then
        xRStr = xRStr & RupeeFormat_GetT(Mid(xStrH, 2))
    Else
        xRStr = xRStr & RupeeFormat_GetD(Mid(xStrH, 3))
    End If
End If
    RupeeFormat_GetH = xRStr
End Function
Function RupeeFormat_GetT(xTStr As String)
    Dim xTArr1 As Variant
    Dim xTArr2 As Variant
    Dim xRStr As String
    xTArr1 = Array("Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen")
    xTArr2 = Array("", "Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety")
    Result = ""
    If Val(Left(xTStr, 1)) = 1 Then
        xRStr = xTArr1(Val(Mid(xTStr, 2, 1)))
    Else
        If Val(Left(xTStr, 1)) > 0 Then
            xRStr = xTArr2(Val(Left(xTStr, 1)) - 1)
        End If
        xRStr = xRStr & RupeeFormat_GetD(Right(xTStr, 1))
    End If
      RupeeFormat_GetT = xRStr
End Function
Function RupeeFormat_GetD(xDStr As String)
Dim xArr_1() As Variant
    xArr_1 = Array(" One", " Two", " Three", " Four", " Five", " Six", " Seven", " Eight", " Nine", "")
    If Val(xDStr) > 0 Then
        RupeeFormat_GetD = xArr_1(Val(xDStr) - 1)
    Else
        RupeeFormat_GetD = ""
    End If
End Function 

3。 插入代碼後,保存並關閉代碼窗口,返回到工作表,然後輸入以下公式: = RupeeFormat(A2) 到一個空白單元格中,然後向下拖動填充手柄以將此公式應用於其他單元格,所有數字均以盧比表示,請參見屏幕截圖:


具有驚人功能的將數字轉換為英文單詞

如果您想將數字轉換成英文單詞, Excel的Kutools數字到單詞 功能可以幫助您快速輕鬆地解決此工作。

提示:要應用此 字數 功能,首先,您應該下載 Excel的Kutools,然後快速輕鬆地應用該功能。

安裝後 Excel的Kutools,請這樣做:

1。 選擇要轉換的數字列表,然後單擊 庫工具 > 內容 > 數字到單詞,請參見屏幕截圖:

2。 在 數字到貨幣單詞 對話框中選擇 English 選項從 語言 部分,然後單擊 Ok 按鈕,所選內容中的數字已轉換為英語貨幣單詞,請參見屏幕截圖:

點擊下載Kutools for Excel並立即免費試用!

 


  • 超級公式欄 (輕鬆編輯多行文本和公式); 閱讀版式 (輕鬆讀取和編輯大量單元格); 粘貼到過濾範圍...
  • 合併單元格/行/列 和保存數據; 拆分單元格內容; 合併重複的行和總和/平均值...防止細胞重複; 比較範圍...
  • 選擇重複或唯一 行; 選擇空白行 (所有單元格都是空的); 超級查找和模糊查找 在許多工作簿中; 隨機選擇...
  • 確切的副本 多個單元格,無需更改公式參考; 自動創建參考 到多張紙; 插入項目符號,複選框等...
  • 收藏并快速插入公式,範圍,圖表和圖片; 加密單元 帶密碼 創建郵件列表 並發送電子郵件...
  • 提取文字,添加文本,按位置刪除, 刪除空間; 創建和打印分頁小計; 在單元格內容和註釋之間轉換...
  • 超級濾鏡 (將過濾方案保存並應用於其他工作表); 高級排序 按月/週/日,頻率及更多; 特殊過濾器 用粗體,斜體...
  • 結合工作簿和工作表; 根據關鍵列合併表; 將數據分割成多個工作表; 批量轉換xls,xlsx和PDF...
  • 數據透視表分組依據 週號,週幾等 顯示未鎖定的單元格 用不同的顏色 突出顯示具有公式/名稱的單元格...
kte選項卡201905
  • 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
  • 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
  • 將您的工作效率提高 50%,每天為您減少數百次鼠標點擊!
officetab底部

 

按評論排序
留言 (22)
還沒有評分。 成為第一位評論!
網站主持人對此評論進行了最小化
參考單元格沒有閥門時 Excel 崩潰!
網站主持人對此評論進行了最小化
嗨,用戶,
感謝您的評論,本文代碼已更新,請重試,謝謝!
網站主持人對此評論進行了最小化
親愛的主席先生,

美好的一天,

我測試了上面的公式,它不適用於連字符減值,如 -100 -10,000 或 (100) (10,000)

先生,我過去 1 年一直在使用下面的代碼,今天我發現了同樣的錯誤。

當我寫負 -10,000 或 (10,000) 時,它顯示“只有十萬”
當我寫正 10,000 時效果很好“只有一萬”

下面的例子:

(10,000.99) 只有十萬和 99/100 里亞爾
10,000.99 只有一萬和 99/100 里亞爾
(10,000,000.99) 僅一億和 99/100 里亞爾
10,000,000.99 僅一千萬和 99/100 里亞爾
(10,000,000,000.99) 只有千百億 & 99/100 里亞爾
10,000,000,000.99 僅 99 億 & 100/XNUMX 里亞爾
(10,000,000,000,000.90) 僅百億和 90/100 里亞爾
10,000,000,000,000.90 僅十萬億和 90/100 里亞爾

公式=拼寫

我的 VBA 代碼:

'主功能
函數 SpellBilling(ByVal MyNumber)
點心里亞爾、哈拉拉斯、溫​​度
昏暗的小數,計數
ReDim Place(9) 作為字符串
地方(2)=“千”
地點(3)=“百萬”
Place(4) = "十億"
Place(5) = "萬億"
' 金額的字符串表示。
MyNumber = Trim(Str(MyNumber))
' 小數點位置 0 如果沒有。
DecimalPlace = InStr(MyNumber, ".")
' 轉換 Halalas 並將 MyNumber 設置為里亞爾金額。
如果 DecimalPlace > 0 那麼
Halalas = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & _
"00", 2))
MyNumber = Trim(左(MyNumber, DecimalPlace - 1))
如果結束
計數= 1
Do While MyNumber <> ""
Temp = GetHundreds(右(MyNumber, 3))
If Temp <> "" Then Riyals = Temp & Place(Count) & Riyals
如果 Len(MyNumber) > 3 那麼
MyNumber = Left(MyNumber, Len(MyNumber) - 3)
其他
我的號碼 = ""
如果結束
計數 = 計數 + 1
循環
選擇案例里亞爾
案子 ””
里亞爾 = “沒有里亞爾”
案例“一”
里亞爾 = “只有一個里亞爾”
其他情況
里亞爾 = “只有” & 里亞爾
里亞爾 = 里亞爾 & ""
最終選擇
選擇案例哈拉拉斯
案子 ””
Halalas = " & 00/00 里亞爾"
案例“一”
Halalas = " & 01/100 里亞爾"
案例“二”
Halalas = " & 02/100 里亞爾"
案例“三”
Halalas = " & 03/100 里亞爾"
案例“四”
Halalas = " & 04/100 里亞爾"
案例“五”
Halalas = " & 05/100 里亞爾"
案例“六”
Halalas = " & 06/100 里亞爾"
案例“七”
Halalas = " & 07/100 里亞爾"
案例“八”
Halalas = " & 08/100 里亞爾"
案例“九”
Halalas = " & 09/100 里亞爾"
案例“十”
Halalas = " & 10/100 里亞爾"
案例“十一”
Halalas = " & 11/100 里亞爾"
案例“十二”
Halalas = " & 12/100 里亞爾"
案例“十三”
Halalas = " & 13/100 里亞爾"
案例“十四”
Halalas = " & 14/100 里亞爾"
案例“十五”
Halalas = " & 15/100 里亞爾"
案例“十六”
Halalas = " & 16/100 里亞爾"
案例“十七”
Halalas = " & 17/100 里亞爾"
案例“十八”
Halalas = " & 18/100 里亞爾"
案例“十九”
Halalas = " & 19/100 里亞爾"
案例“二十”
Halalas = " & 20/100 里亞爾"
案例“二十一”
Halalas = " & 21/100 里亞爾"
案例“二十二”
Halalas = " & 22/100 里亞爾"
案例“二十三”
Halalas = " & 23/100 里亞爾"
案例“二十四”
Halalas = " & 24/100 里亞爾"
案例“二十五”
Halalas = " & 25/100 里亞爾"
案例“二十六”
Halalas = " & 26/100 里亞爾"
案例“二十七”
Halalas = " & 27/100 里亞爾"
案例“二十八”
Halalas = " & 28/100 里亞爾"
案例“二十九”
Halalas = " & 29/100 里亞爾"
案例“三十”
Halalas = " & 30/100 里亞爾"
案例“三十一”
Halalas = " & 31/100 里亞爾"
案例“三十二”
Halalas = " & 32/100 里亞爾"
案例“三十三”
Halalas = " & 33/100 里亞爾"
案例“三十四”
Halalas = " & 34/100 里亞爾"
案例“三十五”
Halalas = " & 35/100 里亞爾"
案例“三十六”
Halalas = " & 36/100 里亞爾"
案例“三十七”
Halalas = " & 37/100 里亞爾"
案例“三十八”
Halalas = " & 38/100 里亞爾"
案例“三十九”
Halalas = " & 39/100 里亞爾"
案例“四十”
Halalas = " & 40/100 里亞爾"
案例“四十一”
Halalas = " & 41/100 里亞爾"
案例“四十二”
Halalas = " & 42/100 里亞爾"
案例“四十三”
Halalas = " & 43/100 里亞爾"
案例“四十四”
Halalas = " & 44/100 里亞爾"
案例“四十五”
Halalas = " & 45/100 里亞爾"
案例“四十六”
Halalas = " & 46/100 里亞爾"
案例“四十七”
Halalas = " & 47/100 里亞爾"
案例“四十八”
Halalas = " & 48/100 里亞爾"
案例“四十九”
Halalas = " & 49/100 里亞爾"
案例“五十”
Halalas = " & 50/100 里亞爾"
案例“五十一”
Halalas = " & 51/100 里亞爾"
案例“五十二”
Halalas = " & 52/100 里亞爾"
案例“五十三”
Halalas = " & 53/100 里亞爾"
案例“五十四”
Halalas = " & 54/100 里亞爾"
案例“五十五”
Halalas = " & 55/100 里亞爾"
案例“五十六”
Halalas = " & 56/100 里亞爾"
案例“五十七”
Halalas = " & 57/100 里亞爾"
案例“五十八”
Halalas = " & 58/100 里亞爾"
案例“五十九”
Halalas = " & 59/100 里亞爾"
案例“六十”
Halalas = " & 60/100 里亞爾"
案例“六十一”
Halalas = " & 61/100 里亞爾"
案例“六十二”
Halalas = " & 62/100 里亞爾"
案例“六十三”
Halalas = " & 63/100 里亞爾"
案例“六十四”
Halalas = " & 64/100 里亞爾"
案例“六十五”
Halalas = " & 65/100 里亞爾"
案例“六十六”
Halalas = " & 66/100 里亞爾"
案例“六十七”
Halalas = " & 67/100 里亞爾"
案例“六十八”
Halalas = " & 68/100 里亞爾"
案例“六十九”
Halalas = " & 69/100 里亞爾"
案例“七十”
Halalas = " & 70/100 里亞爾"
案例“七十一”
Halalas = " & 71/100 里亞爾"
案例“七十二”
Halalas = " & 72/100 里亞爾"
案例“七十三”
Halalas = " & 73/100 里亞爾"
案例“七十四”
Halalas = " & 74/100 里亞爾"
案例“七十五”
Halalas = " & 75/100 里亞爾"
案例“七十六”
Halalas = " & 76/100 里亞爾"
案例“七十七”
Halalas = " & 77/100 里亞爾"
案例“七十八”
Halalas = " & 78/100 里亞爾"
案例“七十九”
Halalas = " & 79/100 里亞爾"
案例“八十”
Halalas = " & 80/100 里亞爾"
案例“八十一”
Halalas = " & 81/100 里亞爾"
案例“八十二”
Halalas = " & 82/100 里亞爾"
案例“八十三”
Halalas = " & 83/100 里亞爾"
案例“八十四”
Halalas = " & 84/100 里亞爾"
案例“八十五”
Halalas = " & 85/100 里亞爾"
案例“八十六”
Halalas = " & 86/100 里亞爾"
案例“八十七”
Halalas = " & 87/100 里亞爾"
案例“八十八”
Halalas = " & 88/100 里亞爾"
案例“八十九”
Halalas = " & 89/100 里亞爾"
案例“九十”
Halalas = " & 90/100 里亞爾"
案例“九十一”
Halalas = " & 91/100 里亞爾"
案例“九十二”
Halalas = " & 92/100 里亞爾"
案例“九十三”
Halalas = " & 93/100 里亞爾"
案例“九十四”
Halalas = " & 94/100 里亞爾"
案例“九十五”
Halalas = " & 95/100 里亞爾"
案例“九十六”
Halalas = " & 96/100 里亞爾"
案例“九十七”
Halalas = " & 97/100 里亞爾"
案例“九十八”
Halalas = " & 98/100 里亞爾"
案例“九十九”
Halalas = " & 99/100 里亞爾"


其他情況
哈拉拉斯 = " & " & 哈拉拉斯 & " 哈拉拉斯"
最終選擇
SpellBilling = 里亞爾和哈拉拉斯
函數結束


' 將 100-999 之間的數字轉換為文本
函數 GetHundreds(ByVal MyNumber)
將結果暗淡為字符串
如果 Val(MyNumber) = 0 則退出函數
MyNumber = Right("000" & MyNumber, 3)
' 轉換百位。
如果 Mid(MyNumber, 1, 1) <> "0" 那麼
結果 = GetDigit(Mid(MyNumber, 1, 1)) & "百"
如果結束
' 轉換十位和個位。
如果 Mid(MyNumber, 2, 1) <> "0" 那麼
結果 = Result & GetTens(Mid(MyNumber, 2))
其他
結果 = Result & GetDigit(Mid(MyNumber, 3))
如果結束
GetHundreds = 結果
函數結束

' 將 10 到 99 之間的數字轉換為文本。
函數 GetTens(TensText)
將結果暗淡為字符串
Result = "" ' 清空臨時函數值。
If Val(Left(TensText, 1)) = 1 Then ' 如果值在 10-19 之間...
選擇案例值(TensText)
案例 10:結果 =“十”
案例 11:結果 = “十一”
案例 12:結果 =“十二”
案例 13:結果 =“十三”
案例 14:結果 =“十四”
案例 15:結果 =“十五”
案例 16:結果 =“十六”
案例 17:結果 =“十七”
案例 18:結果 = “十八”
案例 19:結果 = “十九”
其他情況
最終選擇
Else ' 如果值在 20-99 之間...
選擇案例值(左(TensText,1))
案例2:結果=“二十”
案例 3:結果 = “三十”
案例 4:結果 = “四十”
案例 5:結果 = “五十”
案例 6:結果 = “六十”
案例 7:結果 = “七十”
案例 8:結果 = “八十”
案例 9:結果 = “九十”
其他情況
最終選擇
結果 = 結果 & GetDigit _
(Right(TensText, 1)) ' 檢索一個位置。
如果結束
GetTens = 結果
函數結束

' 將 1 到 9 之間的數字轉換為文本。
函數GetDigit(數字)
選擇案例值(數字)
案例 1:GetDigit = "One"
案例 2:GetDigit = “二”
案例 3:GetDigit = "三"
案例 4:GetDigit = "四"
案例 5:GetDigit = "五"
案例 6:GetDigit = "六"
案例 7:GetDigit = "七"
案例 8:GetDigit = "八"
案例 9:GetDigit = "九"
其他情況:GetDigit = ""
最終選擇
函數結束
網站主持人對此評論進行了最小化
沒什麼好說的! 極超
網站主持人對此評論進行了最小化
親愛的主席先生,

美好的一天,
我測試了您的 VBA 代碼,但不幸的是,它在負值/負值(如 -100 -10,000 / (100) (10,000) )上效果不佳。

先生,過去 1 年我一直在使用下面的代碼,今天我發現了與您的 VBA 代碼中相同的錯誤。

當我寫負-10,000時,它顯示在“只有十萬”
當我寫正面的 10,000 時,它顯示在“只有一萬”上效果很好

下面的例子:

(10,000.99) 只有十萬和 99/100 里亞爾
10,000.99 只有一萬和 99/100 里亞爾
(10,000,000.99) 僅一億和 99/100 里亞爾
10,000,000.99 僅一千萬和 99/100 里亞爾
(10,000,000,000.99) 只有千百億 & 99/100 里亞爾
10,000,000,000.99 僅 99 億 & 100/XNUMX 里亞爾
(10,000,000,000,000.90) 僅百億和 90/100 里亞爾
10,000,000,000,000.90 僅十萬億和 90/100 里亞爾

公式=拼寫

我的 VBA 代碼:

'主功能
函數 SpellBilling(ByVal MyNumber)
點心里亞爾、哈拉拉斯、溫​​度
昏暗的小數,計數
ReDim Place(9) 作為字符串
地方(2)=“千”
地點(3)=“百萬”
Place(4) = "十億"
Place(5) = "萬億"
' 金額的字符串表示。
MyNumber = Trim(Str(MyNumber))
' 小數點位置 0 如果沒有。
DecimalPlace = InStr(MyNumber, ".")
' 轉換 Halalas 並將 MyNumber 設置為里亞爾金額。
如果 DecimalPlace > 0 那麼
Halalas = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & _
"00", 2))
MyNumber = Trim(左(MyNumber, DecimalPlace - 1))
如果結束
計數= 1
Do While MyNumber <> ""
Temp = GetHundreds(右(MyNumber, 3))
If Temp <> "" Then Riyals = Temp & Place(Count) & Riyals
如果 Len(MyNumber) > 3 那麼
MyNumber = Left(MyNumber, Len(MyNumber) - 3)
其他
我的號碼 = ""
如果結束
計數 = 計數 + 1
循環
選擇案例里亞爾
案子 ””
里亞爾 = “沒有里亞爾”
案例“一”
里亞爾 = “只有一個里亞爾”
其他情況
里亞爾 = “只有” & 里亞爾
里亞爾 = 里亞爾 & ""
最終選擇
選擇案例哈拉拉斯
案子 ””
Halalas = " & 00/00 里亞爾"
案例“一”
Halalas = " & 01/100 里亞爾"
案例“二”
Halalas = " & 02/100 里亞爾"
案例“三”
Halalas = " & 03/100 里亞爾"
案例“四”
Halalas = " & 04/100 里亞爾"
案例“五”
Halalas = " & 05/100 里亞爾"
案例“六”
Halalas = " & 06/100 里亞爾"
案例“七”
Halalas = " & 07/100 里亞爾"
案例“八”
Halalas = " & 08/100 里亞爾"
案例“九”
Halalas = " & 09/100 里亞爾"
案例“十”
Halalas = " & 10/100 里亞爾"
案例“十一”
Halalas = " & 11/100 里亞爾"
案例“十二”
Halalas = " & 12/100 里亞爾"
案例“十三”
Halalas = " & 13/100 里亞爾"
案例“十四”
Halalas = " & 14/100 里亞爾"
案例“十五”
Halalas = " & 15/100 里亞爾"
案例“十六”
Halalas = " & 16/100 里亞爾"
案例“十七”
Halalas = " & 17/100 里亞爾"
案例“十八”
Halalas = " & 18/100 里亞爾"
案例“十九”
Halalas = " & 19/100 里亞爾"
案例“二十”
Halalas = " & 20/100 里亞爾"
案例“二十一”
Halalas = " & 21/100 里亞爾"
案例“二十二”
Halalas = " & 22/100 里亞爾"
案例“二十三”
Halalas = " & 23/100 里亞爾"
案例“二十四”
Halalas = " & 24/100 里亞爾"
案例“二十五”
Halalas = " & 25/100 里亞爾"
案例“二十六”
Halalas = " & 26/100 里亞爾"
案例“二十七”
Halalas = " & 27/100 里亞爾"
案例“二十八”
Halalas = " & 28/100 里亞爾"
案例“二十九”
Halalas = " & 29/100 里亞爾"
案例“三十”
Halalas = " & 30/100 里亞爾"
案例“三十一”
Halalas = " & 31/100 里亞爾"
案例“三十二”
Halalas = " & 32/100 里亞爾"
案例“三十三”
Halalas = " & 33/100 里亞爾"
案例“三十四”
Halalas = " & 34/100 里亞爾"
案例“三十五”
Halalas = " & 35/100 里亞爾"
案例“三十六”
Halalas = " & 36/100 里亞爾"
案例“三十七”
Halalas = " & 37/100 里亞爾"
案例“三十八”
Halalas = " & 38/100 里亞爾"
案例“三十九”
Halalas = " & 39/100 里亞爾"
案例“四十”
Halalas = " & 40/100 里亞爾"
案例“四十一”
Halalas = " & 41/100 里亞爾"
案例“四十二”
Halalas = " & 42/100 里亞爾"
案例“四十三”
Halalas = " & 43/100 里亞爾"
案例“四十四”
Halalas = " & 44/100 里亞爾"
案例“四十五”
Halalas = " & 45/100 里亞爾"
案例“四十六”
Halalas = " & 46/100 里亞爾"
案例“四十七”
Halalas = " & 47/100 里亞爾"
案例“四十八”
Halalas = " & 48/100 里亞爾"
案例“四十九”
Halalas = " & 49/100 里亞爾"
案例“五十”
Halalas = " & 50/100 里亞爾"
案例“五十一”
Halalas = " & 51/100 里亞爾"
案例“五十二”
Halalas = " & 52/100 里亞爾"
案例“五十三”
Halalas = " & 53/100 里亞爾"
案例“五十四”
Halalas = " & 54/100 里亞爾"
案例“五十五”
Halalas = " & 55/100 里亞爾"
案例“五十六”
Halalas = " & 56/100 里亞爾"
案例“五十七”
Halalas = " & 57/100 里亞爾"
案例“五十八”
Halalas = " & 58/100 里亞爾"
案例“五十九”
Halalas = " & 59/100 里亞爾"
案例“六十”
Halalas = " & 60/100 里亞爾"
案例“六十一”
Halalas = " & 61/100 里亞爾"
案例“六十二”
Halalas = " & 62/100 里亞爾"
案例“六十三”
Halalas = " & 63/100 里亞爾"
案例“六十四”
Halalas = " & 64/100 里亞爾"
案例“六十五”
Halalas = " & 65/100 里亞爾"
案例“六十六”
Halalas = " & 66/100 里亞爾"
案例“六十七”
Halalas = " & 67/100 里亞爾"
案例“六十八”
Halalas = " & 68/100 里亞爾"
案例“六十九”
Halalas = " & 69/100 里亞爾"
案例“七十”
Halalas = " & 70/100 里亞爾"
案例“七十一”
Halalas = " & 71/100 里亞爾"
案例“七十二”
Halalas = " & 72/100 里亞爾"
案例“七十三”
Halalas = " & 73/100 里亞爾"
案例“七十四”
Halalas = " & 74/100 里亞爾"
案例“七十五”
Halalas = " & 75/100 里亞爾"
案例“七十六”
Halalas = " & 76/100 里亞爾"
案例“七十七”
Halalas = " & 77/100 里亞爾"
案例“七十八”
Halalas = " & 78/100 里亞爾"
案例“七十九”
Halalas = " & 79/100 里亞爾"
案例“八十”
Halalas = " & 80/100 里亞爾"
案例“八十一”
Halalas = " & 81/100 里亞爾"
案例“八十二”
Halalas = " & 82/100 里亞爾"
案例“八十三”
Halalas = " & 83/100 里亞爾"
案例“八十四”
Halalas = " & 84/100 里亞爾"
案例“八十五”
Halalas = " & 85/100 里亞爾"
案例“八十六”
Halalas = " & 86/100 里亞爾"
案例“八十七”
Halalas = " & 87/100 里亞爾"
案例“八十八”
Halalas = " & 88/100 里亞爾"
案例“八十九”
Halalas = " & 89/100 里亞爾"
案例“九十”
Halalas = " & 90/100 里亞爾"
案例“九十一”
Halalas = " & 91/100 里亞爾"
案例“九十二”
Halalas = " & 92/100 里亞爾"
案例“九十三”
Halalas = " & 93/100 里亞爾"
案例“九十四”
Halalas = " & 94/100 里亞爾"
案例“九十五”
Halalas = " & 95/100 里亞爾"
案例“九十六”
Halalas = " & 96/100 里亞爾"
案例“九十七”
Halalas = " & 97/100 里亞爾"
案例“九十八”
Halalas = " & 98/100 里亞爾"
案例“九十九”
Halalas = " & 99/100 里亞爾"


其他情況
哈拉拉斯 = " & " & 哈拉拉斯 & " 哈拉拉斯"
最終選擇
SpellBilling = 里亞爾和哈拉拉斯
函數結束


' 將 100-999 之間的數字轉換為文本
函數 GetHundreds(ByVal MyNumber)
將結果暗淡為字符串
如果 Val(MyNumber) = 0 則退出函數
MyNumber = Right("000" & MyNumber, 3)
' 轉換百位。
如果 Mid(MyNumber, 1, 1) <> "0" 那麼
結果 = GetDigit(Mid(MyNumber, 1, 1)) & "百"
如果結束
' 轉換十位和個位。
如果 Mid(MyNumber, 2, 1) <> "0" 那麼
結果 = Result & GetTens(Mid(MyNumber, 2))
其他
結果 = Result & GetDigit(Mid(MyNumber, 3))
如果結束
GetHundreds = 結果
函數結束

' 將 10 到 99 之間的數字轉換為文本。
函數 GetTens(TensText)
將結果暗淡為字符串
Result = "" ' 清空臨時函數值。
If Val(Left(TensText, 1)) = 1 Then ' 如果值在 10-19 之間...
選擇案例值(TensText)
案例 10:結果 =“十”
案例 11:結果 = “十一”
案例 12:結果 =“十二”
案例 13:結果 =“十三”
案例 14:結果 =“十四”
案例 15:結果 =“十五”
案例 16:結果 =“十六”
案例 17:結果 =“十七”
案例 18:結果 = “十八”
案例 19:結果 = “十九”
其他情況
最終選擇
Else ' 如果值在 20-99 之間...
選擇案例值(左(TensText,1))
案例2:結果=“二十”
案例 3:結果 = “三十”
案例 4:結果 = “四十”
案例 5:結果 = “五十”
案例 6:結果 = “六十”
案例 7:結果 = “七十”
案例 8:結果 = “八十”
案例 9:結果 = “九十”
其他情況
最終選擇
結果 = 結果 & GetDigit _
(Right(TensText, 1)) ' 檢索一個位置。
如果結束
GetTens = 結果
函數結束

' 將 1 到 9 之間的數字轉換為文本。
函數GetDigit(數字)
選擇案例值(數字)
案例 1:GetDigit = "One"
案例 2:GetDigit = “二”
案例 3:GetDigit = "三"
案例 4:GetDigit = "四"
案例 5:GetDigit = "五"
案例 6:GetDigit = "六"
案例 7:GetDigit = "七"
案例 8:GetDigit = "八"
案例 9:GetDigit = "九"
其他情況:GetDigit = ""
最終選擇
函數結束
網站主持人對此評論進行了最小化
我需要應用所有 Excel 工作簿。 如何將此編碼應用於所有 Excel 工作簿。
網站主持人對此評論進行了最小化
盧比一萬四千八百,七十五隻有最後一個金額應該有這個詞和例子
盧比一萬四千八百七十五隻
網站主持人對此評論進行了最小化
閱讀量不能超過 10 億。
網站主持人對此評論進行了最小化
XNUMX Lac XNUMX 和 XNUMX Paise - 未正確轉換。在四捨五入時也未轉換上圖。
網站主持人對此評論進行了最小化
謝謝你的代碼...
網站主持人對此評論進行了最小化
感謝您的編碼。 我申請了它的工作。 但它僅適用於該特定工作簿。 我需要應用所有 Excel 工作簿。 如何將此編碼應用於所有 Excel 工作簿。
網站主持人對此評論進行了最小化
你好,西瓦格
是的,這個代碼是用戶定義函數,你應該將公式一個一個地應用到文件中,如果你需要一個代碼來應用到多個工作簿,它會應用到所有的數字,所以所有的數字都會被改變。 並且代碼不支持撤銷,存在一定的安全隱患。 不建議這樣做。 謝謝!
網站主持人對此評論進行了最小化
怎麼去掉“盧比”這個詞? 通常支票葉子上已經有“Rupees”這個詞。
網站主持人對此評論進行了最小化
你好,薩卡里亞
要解決您的問題,請應用以下代碼:
Public Function RupeeFormat(SNum As String)
'Updateby Extendoffice
Dim xDPInt As Integer
Dim xArrPlace As Variant
Dim xRStr_Paisas As String
Dim xNumStr As String
Dim xF As Integer
Dim xTemp As String
Dim xStrTemp As String
Dim xRStr As String
Dim xLp As Integer
xArrPlace = Array("", "", " Thousand ", " Lacs ", " Crores ", " Trillion ", "", "", "", "")
On Error Resume Next
If SNum = "" Then
  RupeeFormat = ""
  Exit Function
End If
xNumStr = Trim(Str(SNum))
If xNumStr = "" Then
  RupeeFormat = ""
  Exit Function
End If

xRStr = ""
xLp = 0
If (xNumStr > 999999999.99) Then
    RupeeFormat = "Digit excced Maximum limit"
    Exit Function
End If
xDPInt = InStr(xNumStr, ".")
If xDPInt > 0 Then
    If (Len(xNumStr) - xDPInt) = 1 Then
       xRStr_Paisas = RupeeFormat_GetT(Left(Mid(xNumStr, xDPInt + 1) & "0", 2))
    ElseIf (Len(xNumStr) - xDPInt) > 1 Then
       xRStr_Paisas = RupeeFormat_GetT(Left(Mid(xNumStr, xDPInt + 1), 2))
    End If
        xNumStr = Trim(Left(xNumStr, xDPInt - 1))
    End If
    xF = 1
    Do While xNumStr <> ""
        If (xF >= 2) Then
            xTemp = Right(xNumStr, 2)
        Else
            If (Len(xNumStr) = 2) Then
                xTemp = Right(xNumStr, 2)
            ElseIf (Len(xNumStr) = 1) Then
                xTemp = Right(xNumStr, 1)
            Else
                xTemp = Right(xNumStr, 3)
            End If
        End If
        xStrTemp = ""
        If Val(xTemp) > 99 Then
            xStrTemp = RupeeFormat_GetH(Right(xTemp, 3), xLp)
            If Right(Trim(xStrTemp), 3) <> "Lac" Then
            xLp = xLp + 1
            End If
        ElseIf Val(xTemp) <= 99 And Val(xTemp) > 9 Then
            xStrTemp = RupeeFormat_GetT(Right(xTemp, 2))
        ElseIf Val(xTemp) < 10 Then
            xStrTemp = RupeeFormat_GetD(Right(xTemp, 2))
        End If
        If xStrTemp <> "" Then
            xRStr = xStrTemp & xArrPlace(xF) & xRStr
        End If
        If xF = 2 Then
            If Len(xNumStr) = 1 Then
                xNumStr = ""
            Else
                xNumStr = Left(xNumStr, Len(xNumStr) - 2)
            End If
       ElseIf xF = 3 Then
            If Len(xNumStr) >= 3 Then
                 xNumStr = Left(xNumStr, Len(xNumStr) - 2)
            Else
                xNumStr = ""
            End If
        ElseIf xF = 4 Then
          xNumStr = ""
    Else
        If Len(xNumStr) <= 2 Then
        xNumStr = ""
    Else
        xNumStr = Left(xNumStr, Len(xNumStr) - 3)
        End If
    End If
        xF = xF + 1
Loop
    If xRStr = "" Then
       xRStr = "No Rupees"
    Else
       xRStr = xRStr
    End If
    If xRStr_Paisas <> "" Then
       xRStr_Paisas = " and " & xRStr_Paisas & " Paisas"
    End If
    RupeeFormat = xRStr & xRStr_Paisas & " Only"
    End Function
Function RupeeFormat_GetH(xStrH As String, xLp As Integer)
Dim xRStr As String
If Val(xStrH) < 1 Then
    RupeeFormat_GetH = ""
    Exit Function
Else
   xStrH = Right("000" & xStrH, 3)
   If Mid(xStrH, 1, 1) <> "0" Then
        If (xLp > 0) Then
         xRStr = RupeeFormat_GetD(Mid(xStrH, 1, 1)) & " Lac "
        Else
         xRStr = RupeeFormat_GetD(Mid(xStrH, 1, 1)) & " Hundred "
        End If
    End If
    If Mid(xStrH, 2, 1) <> "0" Then
        xRStr = xRStr & RupeeFormat_GetT(Mid(xStrH, 2))
    Else
        xRStr = xRStr & RupeeFormat_GetD(Mid(xStrH, 3))
    End If
End If
    RupeeFormat_GetH = xRStr
End Function
Function RupeeFormat_GetT(xTStr As String)
    Dim xTArr1 As Variant
    Dim xTArr2 As Variant
    Dim xRStr As String
    xTArr1 = Array("Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen")
    xTArr2 = Array("", "Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety")
    Result = ""
    If Val(Left(xTStr, 1)) = 1 Then
        xRStr = xTArr1(Val(Mid(xTStr, 2, 1)))
    Else
        If Val(Left(xTStr, 1)) > 0 Then
            xRStr = xTArr2(Val(Left(xTStr, 1)) - 1)
        End If
        xRStr = xRStr & RupeeFormat_GetD(Right(xTStr, 1))
    End If
      RupeeFormat_GetT = xRStr
End Function
Function RupeeFormat_GetD(xDStr As String)
Dim xArr_1() As Variant
    xArr_1 = Array(" One", " Two", " Three", " Four", " Five", " Six", " Seven", " Eight", " Nine", "")
    If Val(xDStr) > 0 Then
        RupeeFormat_GetD = xArr_1(Val(xDStr) - 1)
    Else
        RupeeFormat_GetD = ""
    End If
End Function



請嘗試,希望對您有所幫助!
網站主持人對此評論進行了最小化
非常感謝...🙂
網站主持人對此評論進行了最小化
但這只適用於一個excel。 如果我在其他 Excel 中輸入這個公式,這是行不通的
什麼是解決方案
請回复
網站主持人對此評論進行了最小化
你好,

如果您有多個工作簿,則需要將代碼複製到多個工作簿。
如果只複製到一個工作簿,在其他工作簿中將不起作用。 😀
請嘗試,謝謝!
網站主持人對此評論進行了最小化
非常感謝,非常有幫助
網站主持人對此評論進行了最小化
您好,先生,是否可以為每個 excel 工作表默認設置此項?
網站主持人對此評論進行了最小化
你好,穆克什

可以,只要將代碼複製到vba窗口模塊中,就可以將公式應用到整個工作簿。
但是當關閉工作簿時,您應該將其另存為 Excel啟用宏的工作簿 文件格式。
請試一試,謝謝!
網站主持人對此評論進行了最小化
試了好多次都不行。 請幫忙
網站主持人對此評論進行了最小化
嘿,幫助很大! 感謝您創建如此精彩的代碼。

它節省了很多時間。 “上帝祝福你!!”
這裡還沒有評論
留下你的意見
以訪客身份發帖
×
評價此帖子:
0   字符
推薦地點

關注我們

版權所有©2009 - 萬維網。extendoffice.com。 | 版權所有。 供電 ExtendOffice。 |
Microsoft和Office徽標是Microsoft Corporation在美國和/或其他國家的商標或註冊商標。
受Sectigo SSL保護