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

如何在Excel中将数字转换为印度卢比的单词?

本文,我将介绍如何在Excel中将数字列表转换为印度卢比或英语的单词。

使用VBA代码将数字转换为印度卢比的单词

具有惊人功能的将数字转换为英文单词


使用VBA代码将数字转换为印度卢比的单词

以下VBA代码可以帮助您将数字转换为卢比的单词,请按以下步骤操作:

1。 按住 ALT + F11 键打开 Microsoft Visual Basic应用程序 窗口。

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) 到一个空白单元格中,然后向下拖动填充手柄以将此公式应用于其他单元格,所有数字均以卢比表示,请参见屏幕截图:


具有惊人功能的将数字转换为英文单词

如果您想将数字转换成英文单词, Kutools for Excel数字到单词 功能可以帮助您快速轻松地解决此工作。

提示:申请这个 字数 功能,首先,您应该下载 Kutools for Excel,然后快速轻松地应用该功能。

安装后 Kutools for Excel,请这样做:

1。 选择要转换的数字列表,然后单击 库工具 > 内容 > 数字到单词,请参见屏幕截图:

2。 在 数字到货币单词 对话框中选择 英语 选项从 语言 部分,然后单击 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
循环
选择案例里亚尔
案子 ””
里亚尔 = “没有里亚尔”
案例“一”
里亚尔 = “只有一个里亚尔”
CASE ELSE
里亚尔 = “只有” & 里亚尔
里亚尔 = 里亚尔 & ""
最终选择
选择案例哈拉拉斯
案子 ””
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 里亚尔"


CASE ELSE
哈拉拉斯 = " & " & 哈拉拉斯 & " 哈拉拉斯"
最终选择
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:结果 = “十九”
CASE ELSE
最终选择
Else ' 如果值在 20-99 之间...
选择案例值(左(TensText,1))
案例2:结果=“二十”
案例 3:结果 = “三十”
案例 4:结果 = “四十”
案例 5:结果 = “五十”
案例 6:结果 = “六十”
案例 7:结果 = “七十”
案例 8:结果 = “八十”
案例 9:结果 = “九十”
CASE ELSE
最终选择
结果 = 结果 & 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
循环
选择案例里亚尔
案子 ””
里亚尔 = “没有里亚尔”
案例“一”
里亚尔 = “只有一个里亚尔”
CASE ELSE
里亚尔 = “只有” & 里亚尔
里亚尔 = 里亚尔 & ""
最终选择
选择案例哈拉拉斯
案子 ””
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 里亚尔"


CASE ELSE
哈拉拉斯 = " & " & 哈拉拉斯 & " 哈拉拉斯"
最终选择
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:结果 = “十九”
CASE ELSE
最终选择
Else ' 如果值在 20-99 之间...
选择案例值(左(TensText,1))
案例2:结果=“二十”
案例 3:结果 = “三十”
案例 4:结果 = “四十”
案例 5:结果 = “五十”
案例 6:结果 = “六十”
案例 7:结果 = “七十”
案例 8:结果 = “八十”
案例 9:结果 = “九十”
CASE ELSE
最终选择
结果 = 结果 & 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启用宏的工作簿 文件格式。
请试一试,谢谢!
该评论由网站上的主持人最小化
试了好多次都不行。 请帮忙
该评论由网站上的主持人最小化
嘿,帮助很大! 感谢您创建如此精彩的代码。

它节省了很多时间。 “上帝祝福你!!”
这里还没有评论

关注我们

版权所有 © 2009 - extendoffice.com。 | 版权所有。 供电 ExtendOffice。 | 网站地图
Microsoft和Office徽标是Microsoft Corporation在美国和/或其他国家的商标或注册商标。
受Sectigo SSL保护