如何在Excel中将数字转换为印度卢比的文字?
当我们需要在Excel中将数字转换为印度卢比的文字时,如果手动进行,则可能非常耗时,因为需要输入大量的数字。我们可以使用VBA应用程序来更快地完成这个耗时的过程。即使VBA代码很长,如果有很多值需要转换,我们也可以使用此方法。阅读本教程,了解如何在Excel中将数字转换为印度卢比的文字。
在Excel中将数字转换为印度卢比的文字
在这里,我们将创建一个新的VBA模块,然后使用公式获取任何一个结果,并使用自动填充柄获取所有结果。让我们来看一个简单的步骤,了解如何在Excel中将数字转换为印度卢比的文字。
步骤1
考虑一个Excel表格,其中包含类似于下图所示的数字列表。
现在右键单击工作表名称,选择“查看代码”以打开VBA应用程序,然后单击“插入”并选择“模块”。
右键单击 > 查看代码 > 插入 > 模块
步骤2
然后,如下图所示,将以下程序输入文本框。
程序
Public Function RupeeFormat(SNum As String) 'Update By Nirmal 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
然后,使用ALT + Q命令,将工作表另存为宏启用工作簿,并退出vba应用程序。
然后,在Excel表格中,单击一个空单元格,输入=RupeeFormat(A2),然后按Enter键以获取我们的第一个结果。
保存 > ALT + Q > 空单元格 > 公式 > Enter
步骤4
要获取所有结果,请使用自动填充柄从第一个结果向下拖动,我们的最终结果将类似于下图。
结论
在本教程中,我们使用了一个简单的示例来演示如何在Excel中将数字转换为文字。
广告