Tuesday, March 28, 2023

Number to words in Nepali Unicode Excel Add-in with full VB code

dsfasdf

 

blog.anilz.net

https://andrewborstein.com/

http://www.emilyridge.ie/

http://www.dineshthakali.com.np/excel/convert-numbers-to-text-npr/

http://sajanmaharjan.com.np/nepali-functions-addin-for-excel/

http://sajanmaharjan.com.np/nepali-number-to-words/

https://www.laxmannepal.com.np/2023/01/how-to-convert-number-to-

text-in-excel.html
https://dotnepal.com/nepali-number-to-word-converter/

https://sushilparajuli.com/number-to-word-tool-for-excel/

http://blog.anilz.net/2017/12/number-to-words-in-nepali-unicode-

excel.html

https://greencoin.life/how-to/convert/number-into-nepali-words-in-excel/


  1. Functions available for use using the add-in.
    • NUM2WORDS_UNI(<number>) : converts number into words in Nepali unicode
    Link to download the Excel Add-in : click here

    '==========================================================
    'created by Anil Shrestha
    'http://blog.anilz.net
    'contact email : me@anilz.net
    '==========================================================
    
    
    Public num(99) As String
    Public level(12) As String
    Sub LEVEL_DEF_UNI()
        level(0) = ChrW(32) & ChrW(2346) & ChrW(2376) & ChrW(2360) & ChrW(2366)             'paisa
        level(1) = ""
        level(2) = ChrW(32) & ChrW(2360) & ChrW(2351) & ChrW(32)                            'saya
        level(3) = ChrW(32) & ChrW(2361) & ChrW(2332) & ChrW(2366) & ChrW(2352) & ChrW(32)  'hajar
        level(4) = ChrW(32) & ChrW(2354) & ChrW(2366) & ChrW(2326) & ChrW(32)               'lakha
        level(5) = ChrW(32) & ChrW(2325) & ChrW(2352) & ChrW(2379) & ChrW(2337) & ChrW(32)  'karod
        level(6) = ChrW(32) & ChrW(2309) & ChrW(2352) & ChrW(2381) & ChrW(2348) & ChrW(32)  'arba
        level(7) = ChrW(32) & ChrW(2326) & ChrW(2352) & ChrW(2381) & ChrW(2348) & ChrW(32)  'kharba
        level(8) = ChrW(32) & ChrW(2344) & ChrW(2368) & ChrW(2354) & ChrW(32)               'nil
        
        level(11) = ChrW(32) & ChrW(2350) & ChrW(2366) & ChrW(2340) & ChrW(2381) & ChrW(2352)   'matra
        level(12) = ChrW(32) & ChrW(2352) & ChrW(32)                                            'ra
    End Sub
    
    Sub NUM_DEF_UNI()
        num(0) = ""
        num(1) = ChrW(&H90F) & ChrW(&H915)
        num(2) = ChrW(&H926) & ChrW(&H941) & ChrW(&H908)
        num(3) = ChrW(&H924) & ChrW(&H940) & ChrW(&H928)
        num(4) = ChrW(2330) & ChrW(2366) & ChrW(2352)
        num(5) = ChrW(2346) & ChrW(2366) & ChrW(2305) & ChrW(2330)
        num(6) = ChrW(2331)
        num(7) = ChrW(2360) & ChrW(2366) & ChrW(2340)
        num(8) = ChrW(2310) & ChrW(2336)
        num(9) = ChrW(2344) & ChrW(2380)
        num(10) = ChrW(2342) & ChrW(2360)
        num(11) = ChrW(2319) & ChrW(2328) & ChrW(2366) & ChrW(2352)
        num(12) = ChrW(2348) & ChrW(2366) & ChrW(2361) & ChrW(2381) & ChrW(2352)
        num(13) = ChrW(2340) & ChrW(2375) & ChrW(2361) & ChrW(2381) & ChrW(2352)
        num(14) = ChrW(2330) & ChrW(2380) & ChrW(2343)
        num(15) = ChrW(2346) & ChrW(2344) & ChrW(2381) & ChrW(2343) & ChrW(2381) & ChrW(2352)
        num(16) = ChrW(2360) & ChrW(2379) & ChrW(2361) & ChrW(2381) & ChrW(2352)
        num(17) = ChrW(2360) & ChrW(2340) & ChrW(2381) & ChrW(2352)
        num(18) = ChrW(2309) & ChrW(2336) & ChrW(2366) & ChrW(2361) & ChrW(2381) & ChrW(2352)
        num(19) = ChrW(2313) & ChrW(2344) & ChrW(2381) & ChrW(2344) & ChrW(2366) & ChrW(2311) & ChrW(2360)
        num(20) = ChrW(2348) & ChrW(2368) & ChrW(2360)
        num(21) = ChrW(2319) & ChrW(2325) & ChrW(2366) & ChrW(2311) & ChrW(2360)
        num(22) = ChrW(2348) & ChrW(2366) & ChrW(2311) & ChrW(2360)
        num(23) = ChrW(2340) & ChrW(2375) & ChrW(2311) & ChrW(2360)
        num(24) = ChrW(2330) & ChrW(2380) & ChrW(2348) & ChrW(2368) & ChrW(2360)
        num(25) = ChrW(2346) & ChrW(2330) & ChrW(2368) & ChrW(2360)
        num(26) = ChrW(2331) & ChrW(2348) & ChrW(2381) & ChrW(2348) & ChrW(2368) & ChrW(2360)
        num(27) = ChrW(2360) & ChrW(2340) & ChrW(2381) & ChrW(2340) & ChrW(2366) & ChrW(2311) & ChrW(2360)
        num(28) = ChrW(2309) & ChrW(2336) & ChrW(2381) & ChrW(2336) & ChrW(2366) & ChrW(2311) & ChrW(2360)
        num(29) = ChrW(2313) & ChrW(2344) & ChrW(2344) & ChrW(2381) & ChrW(2340) & ChrW(2368) & ChrW(2360)
        num(30) = ChrW(2340) & ChrW(2368) & ChrW(2360)
        num(31) = ChrW(2319) & ChrW(2325) & ChrW(2340) & ChrW(2368) & ChrW(2360)
        num(32) = ChrW(2348) & ChrW(2340) & ChrW(2368) & ChrW(2360)
        num(33) = ChrW(2340) & ChrW(2375) & ChrW(2340) & ChrW(2368) & ChrW(2360)
        num(34) = ChrW(2330) & ChrW(2380) & ChrW(2340) & ChrW(2368) & ChrW(2360)
        num(35) = ChrW(2346) & ChrW(2376) & ChrW(2340) & ChrW(2368) & ChrW(2360)
        num(36) = ChrW(2331) & ChrW(2340) & ChrW(2368) & ChrW(2360)
        num(37) = ChrW(2360) & ChrW(2352) & ChrW(2340) & ChrW(2368) & ChrW(2360)
        num(38) = ChrW(2309) & ChrW(2352) & ChrW(2340) & ChrW(2368) & ChrW(2360)
        num(39) = ChrW(2313) & ChrW(2344) & ChrW(2344) & ChrW(2330) & ChrW(2366) & ChrW(2354) & ChrW(2368) & ChrW(2360)
        num(40) = ChrW(2330) & ChrW(2366) & ChrW(2354) & ChrW(2368) & ChrW(2360)
        num(41) = ChrW(2319) & ChrW(2325) & ChrW(2330) & ChrW(2366) & ChrW(2354) & ChrW(2368) & ChrW(2360)
        num(42) = ChrW(2348) & ChrW(2351) & ChrW(2366) & ChrW(2354) & ChrW(2367) & ChrW(2360)
        num(43) = ChrW(2340) & ChrW(2368) & ChrW(2352) & ChrW(2330) & ChrW(2366) & ChrW(2354) & ChrW(2368) & ChrW(2360)
        num(44) = ChrW(2330) & ChrW(2380) & ChrW(2357) & ChrW(2366) & ChrW(2354) & ChrW(2367) & ChrW(2360)
        num(45) = ChrW(2346) & ChrW(2376) & ChrW(2306) & ChrW(2340) & ChrW(2366) & ChrW(2354) & ChrW(2367) & ChrW(2360)
        num(46) = ChrW(2331) & ChrW(2351) & ChrW(2366) & ChrW(2354) & ChrW(2367) & ChrW(2360)
        num(47) = ChrW(2360) & ChrW(2352) & ChrW(2330) & ChrW(2366) & ChrW(2354) & ChrW(2368) & ChrW(2360)
        num(48) = ChrW(2309) & ChrW(2352) & ChrW(2330) & ChrW(2366) & ChrW(2354) & ChrW(2368) & ChrW(2360)
        num(49) = ChrW(2313) & ChrW(2344) & ChrW(2344) & ChrW(2330) & ChrW(2366) & ChrW(2360)
        num(50) = ChrW(2346) & ChrW(2330) & ChrW(2366) & ChrW(2360)
        num(51) = ChrW(2319) & ChrW(2325) & ChrW(2366) & ChrW(2313) & ChrW(2344) & ChrW(2381) & ChrW(2344)
        num(52) = ChrW(2348) & ChrW(2366) & ChrW(2313) & ChrW(2344) & ChrW(2381) & ChrW(2344)
        num(53) = ChrW(2340) & ChrW(2381) & ChrW(2352) & ChrW(2367) & ChrW(2346) & ChrW(2344) & ChrW(2381) & ChrW(2344)
        num(54) = ChrW(2330) & ChrW(2380) & ChrW(2357) & ChrW(2344) & ChrW(2381) & ChrW(2344)
        num(55) = ChrW(2346) & ChrW(2330) & ChrW(2381) & ChrW(2346) & ChrW(2344) & ChrW(2381) & ChrW(2344)
        num(56) = ChrW(2331) & ChrW(2346) & ChrW(2344) & ChrW(2381) & ChrW(2344)
        num(57) = ChrW(2360) & ChrW(2344) & ChrW(2381) & ChrW(2340) & ChrW(2366) & ChrW(2313) & ChrW(2344) & ChrW(2381) & ChrW(2344)
        num(58) = ChrW(2309) & ChrW(2344) & ChrW(2381) & ChrW(2336) & ChrW(2366) & ChrW(2313) & ChrW(2305) & ChrW(2344) & ChrW(2381) & ChrW(2344)
        num(59) = ChrW(2313) & ChrW(2344) & ChrW(2366) & ChrW(2344) & ChrW(2381) & ChrW(2344) & ChrW(2381) & ChrW(2360) & ChrW(2366) & ChrW(2336) & ChrW(2368)
        num(60) = ChrW(2360) & ChrW(2366) & ChrW(2336) & ChrW(2368)
        num(61) = ChrW(2319) & ChrW(2325) & ChrW(2360) & ChrW(2366) & ChrW(2336) & ChrW(2368)
        num(62) = ChrW(2348) & ChrW(2366) & ChrW(2360) & ChrW(2366) & ChrW(2336) & ChrW(2368)
        num(63) = ChrW(2340) & ChrW(2368) & ChrW(2352) & ChrW(2360) & ChrW(2366) & ChrW(2336) & ChrW(2368)
        num(64) = ChrW(2330) & ChrW(2380) & ChrW(2306) & ChrW(2360) & ChrW(2366) & ChrW(2336) & ChrW(2368)
        num(65) = ChrW(2346) & ChrW(2376) & ChrW(2360) & ChrW(2366) & ChrW(2336) & ChrW(2368)
        num(66) = ChrW(2331) & ChrW(2376) & ChrW(2360) & ChrW(2336) & ChrW(2368)
        num(67) = ChrW(2360) & ChrW(2340) & ChrW(2381) & ChrW(2360) & ChrW(2336) & ChrW(2381) & ChrW(2336) & ChrW(2368)
        num(68) = ChrW(2309) & ChrW(2352) & ChrW(2381) & ChrW(2360) & ChrW(2336) & ChrW(2381) & ChrW(2336) & ChrW(2368)
        num(69) = ChrW(2313) & ChrW(2344) & ChrW(2344) & ChrW(2381) & ChrW(2360) & ChrW(2340) & ChrW(2381) & ChrW(2340) & ChrW(2352) & ChrW(2368)
        num(70) = ChrW(2360) & ChrW(2340) & ChrW(2352) & ChrW(2368)
        num(71) = ChrW(2319) & ChrW(2325) & ChrW(2361) & ChrW(2340) & ChrW(2381) & ChrW(2340) & ChrW(2352)
        num(72) = ChrW(2348) & ChrW(2361) & ChrW(2340) & ChrW(2381) & ChrW(2340) & ChrW(2352)
        num(73) = ChrW(2340) & ChrW(2381) & ChrW(2352) & ChrW(2367) & ChrW(2361) & ChrW(2340) & ChrW(2381) & ChrW(2340) & ChrW(2352)
        num(74) = ChrW(2330) & ChrW(2380) & ChrW(2361) & ChrW(2340) & ChrW(2381) & ChrW(2340) & ChrW(2352)
        num(75) = ChrW(2346) & ChrW(2330) & ChrW(2361) & ChrW(2340) & ChrW(2381) & ChrW(2340) & ChrW(2352)
        num(76) = ChrW(2331) & ChrW(2361) & ChrW(2340) & ChrW(2381) & ChrW(2340) & ChrW(2352)
        num(77) = ChrW(2360) & ChrW(2340) & ChrW(2381) & ChrW(2361) & ChrW(2340) & ChrW(2381) & ChrW(2340) & ChrW(2352)
        num(78) = ChrW(2309) & ChrW(2336) & ChrW(2381) & ChrW(2361) & ChrW(2340) & ChrW(2381) & ChrW(2340) & ChrW(2352)
        num(79) = ChrW(2313) & ChrW(2344) & ChrW(2366) & ChrW(2360) & ChrW(2381) & ChrW(2360) & ChrW(2368)
        num(80) = ChrW(2309) & ChrW(2360) & ChrW(2381) & ChrW(2360) & ChrW(2368)
        num(81) = ChrW(2319) & ChrW(2325) & ChrW(2366) & ChrW(2360) & ChrW(2368)
        num(82) = ChrW(2348) & ChrW(2351) & ChrW(2366) & ChrW(2360) & ChrW(2368)
        num(83) = ChrW(2340) & ChrW(2381) & ChrW(2352) & ChrW(2368) & ChrW(2351) & ChrW(2366) & ChrW(2360) & ChrW(2368)
        num(84) = ChrW(2330) & ChrW(2380) & ChrW(2352) & ChrW(2366) & ChrW(2360) & ChrW(2368)
        num(85) = ChrW(2346) & ChrW(2330) & ChrW(2366) & ChrW(2360) & ChrW(2368)
        num(86) = ChrW(2331) & ChrW(2351) & ChrW(2366) & ChrW(2360) & ChrW(2368)
        num(87) = ChrW(2360) & ChrW(2340) & ChrW(2366) & ChrW(2360) & ChrW(2368)
        num(88) = ChrW(2309) & ChrW(2336) & ChrW(2366) & ChrW(2360) & ChrW(2368)
        num(89) = ChrW(2313) & ChrW(2344) & ChrW(2366) & ChrW(2344) & ChrW(2381) & ChrW(2344) & ChrW(2348) & ChrW(2381) & ChrW(2348) & ChrW(2375)
        num(90) = ChrW(2344) & ChrW(2348) & ChrW(2381) & ChrW(2348) & ChrW(2375)
        num(91) = ChrW(2319) & ChrW(2325) & ChrW(2366) & ChrW(2344) & ChrW(2381) & ChrW(2344) & ChrW(2348) & ChrW(2381) & ChrW(2348) & ChrW(2375)
        num(92) = ChrW(2348) & ChrW(2351) & ChrW(2366) & ChrW(2344) & ChrW(2381) & ChrW(2344) & ChrW(2348) & ChrW(2381) & ChrW(2348) & ChrW(2375)
        num(93) = ChrW(2340) & ChrW(2381) & ChrW(2352) & ChrW(2367) & ChrW(2351) & ChrW(2366) & ChrW(2344) & ChrW(2381) & ChrW(2344) & ChrW(2348) & ChrW(2381) & ChrW(2348) & ChrW(2375)
        num(94) = ChrW(2330) & ChrW(2380) & ChrW(2352) & ChrW(2366) & ChrW(2344) & ChrW(2381) & ChrW(2344) & ChrW(2348) & ChrW(2381) & ChrW(2348) & ChrW(2375)
        num(95) = ChrW(2346) & ChrW(2306) & ChrW(2330) & ChrW(2366) & ChrW(2344) & ChrW(2381) & ChrW(2344) & ChrW(2348) & ChrW(2381) & ChrW(2348) & ChrW(2375)
        num(96) = ChrW(2331) & ChrW(2351) & ChrW(2366) & ChrW(2344) & ChrW(2381) & ChrW(2344) & ChrW(2348) & ChrW(2381) & ChrW(2348) & ChrW(2375)
        num(97) = ChrW(2360) & ChrW(2344) & ChrW(2381) & ChrW(2340) & ChrW(2366) & ChrW(2344) & ChrW(2381) & ChrW(8205) & ChrW(2344) & ChrW(2348) & ChrW(2381) & ChrW(2348) & ChrW(2375)
        num(98) = ChrW(2309) & ChrW(2344) & ChrW(2381) & ChrW(2336) & ChrW(2366) & ChrW(2344) & ChrW(2381) & ChrW(2344) & ChrW(2348) & ChrW(2381) & ChrW(2348) & ChrW(2375)
        num(99) = ChrW(2313) & ChrW(2344) & ChrW(2366) & ChrW(2344) & ChrW(2381) & ChrW(2360) & ChrW(2351)
    End Sub
    
    Function NUM2WORDS_UNI(number As Double) As String
    Call NUM_DEF_UNI 'calling the number to words definition
    Call LEVEL_DEF_UNI 'calling counting level definition
    Dim ll(8) As String
    
    div_by = 0.01 'divisor for extracting different level numbers
    
    ''looping for extracting different level of numbers
    For i = 0 To 8
        If i = 2 Then
            ll(i) = Val(Right(Application.WorksheetFunction.RoundDown(number / div_by, 0), 1))
        Else
            ll(i) = Val(Right(Application.WorksheetFunction.RoundDown(number / div_by, 0), 2))
        End If
          
        If i = 2 Then
            div_by = div_by * 10
        Else
            div_by = div_by * 100
        End If
    Next i
    
    inwords = "" 'container for number into words conversion
    
    ''looping for generating number in words and appending in inwords container
    For i = 0 To 8
        If ll(i) <> 0 Then
            If i = 0 Then
                If number < 1 Then
                    inwords = num(ll(i)) & level(i)
                Else
                    inwords = level(12) & num(ll(i)) & level(i)
                End If
            Else
                inwords = num(ll(i)) & level(i) & inwords
            End If
        End If
    Next i
    
    'returning the value of words
    NUM2WORDS_UNI = inwords & level(11)
    
    End Function