നമ്പർ to INR ടെക്സ്റ്റ് : VBA ഉപയോഗിച്ച്

എങ്ങനെ excel – ൽ VBA ഉപയോഗിച്ച് കൊടുക്കുന്ന നമ്പറിനെ word format ലേക്ക് മാറ്റുന്നത് എന്ന് നോക്കാം. ഇത് ഞാൻ ചെയ്യുന്നത് INR ഫോർമാറ്റ് ഇൽ ഉള്ള നമ്പറിന് മാത്രമേ ഉപയോഗിക്കാൻ പറ്റൂ.

അതെങ്ങനെ എന്ന് നോക്കാം:

  1. Press ALT + F11 → Open VBA Editor
  2. Insert → Module
  3. Paste the below code
Function NumToINR(ByVal MyNumber As Double) As String
    Dim Rupees As String
    Dim Paise As String
    Dim Temp As String
    
    If MyNumber = 0 Then
        NumToINR = "Rupees Zero Only"
        Exit Function
    End If
    
    Rupees = ConvertToWords(Int(MyNumber))
    
    If MyNumber - Int(MyNumber) > 0 Then
        Paise = ConvertToWords(Round((MyNumber - Int(MyNumber)) * 100, 0))
        Temp = "Rupees " & Rupees & " and Paise " & Paise & " Only"
    Else
        Temp = "Rupees " & Rupees & " Only"
    End If
    
    NumToINR = Temp
End Function

Function ConvertToWords(ByVal MyNumber As Double) As String
    Dim Units As Variant, Tens As Variant
    Units = Array("", "One", "Two", "Three", "Four", "Five", "Six", "Seven", _
                  "Eight", "Nine", "Ten", "Eleven", "Twelve", "Thirteen", _
                  "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen")
    Tens = Array("", "", "Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety")
    
    Dim Result As String
    
    If MyNumber >= 10000000 Then
        Result = ConvertToWords(Int(MyNumber / 10000000)) & " Crore "
        MyNumber = MyNumber Mod 10000000
    End If
    
    If MyNumber >= 100000 Then
        Result = Result & ConvertToWords(Int(MyNumber / 100000)) & " Lakh "
        MyNumber = MyNumber Mod 100000
    End If
    
    If MyNumber >= 1000 Then
        Result = Result & ConvertToWords(Int(MyNumber / 1000)) & " Thousand "
        MyNumber = MyNumber Mod 1000
    End If
    
    If MyNumber >= 100 Then
        Result = Result & ConvertToWords(Int(MyNumber / 100)) & " Hundred "
        MyNumber = MyNumber Mod 100
    End If
    
    If MyNumber > 0 Then
        If MyNumber < 20 Then
            Result = Result & Units(MyNumber)
        Else
            Result = Result & Tens(Int(MyNumber / 10))
            If MyNumber Mod 10 > 0 Then
                Result = Result & " " & Units(MyNumber Mod 10)
            End If
        End If
    End If
    
    ConvertToWords = Trim(Result)
End Function

Close VBA Editor

In Excel cell, use:

=NumToINR(A1)

Leave a Reply

Your email address will not be published. Required fields are marked *