എങ്ങനെ excel – ൽ VBA ഉപയോഗിച്ച് കൊടുക്കുന്ന നമ്പറിനെ word format ലേക്ക് മാറ്റുന്നത് എന്ന് നോക്കാം. ഇത് ഞാൻ ചെയ്യുന്നത് INR ഫോർമാറ്റ് ഇൽ ഉള്ള നമ്പറിന് മാത്രമേ ഉപയോഗിക്കാൻ പറ്റൂ.
അതെങ്ങനെ എന്ന് നോക്കാം:
- Press ALT + F11 → Open VBA Editor
- Insert → Module
- 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)



