Suma kursiivis

Sisu

Altpoolt leiate VBA-s valmis kasutaja määratud funktsiooni, mis tõlgib suvalise arvu alates 0 et 9 selle tekstilisesse esitusviisi ehk summasse sõnades. Enne kasutamist tuleb see funktsioon teie raamatule lisada. Selle jaoks:

  1. vajutage kiirklahvi ALT + F11Visual Basicu redaktori avamiseks
  2. lisage menüü kaudu uus tühi moodul Sisesta – moodul
  3. kopeerige ja kleepige selle funktsiooni tekst sinna:
Funktsioon SUM(n As Double) Stringina Dim Numbrid1, Numbrid2, Numbrid3, Numbrid4 Variantina Numbrid1 = Array("", "one", "two", "three", "neli", "viis", "kuus", "seitse", "kaheksa", "üheksa") Nums2 = Array ("", "kümme", "kakskümmend", "kolmkümmend", "nelikümmend", "viiskümmend", "kuuskümmend", "seitsekümmend", _ "kaheksakümmend" ", "üheksakümmend") Nums3 = Array ("", "sada", "kakssada", "kolmsada", "nelisada", "viissada", "kuussada", "seitsesada", _ " kaheksasada", "üheksasada") Nums4 = Array("", "üks", "kaks", "kolm", "neli", "viis", "kuus", "seitse", "kaheksa", "üheksa" ") Numbrid5 = Array("kümme " , "üksteist", "kaksteist", "kolmteist", "neliteist", _ "viisteist", "kuusteist", "seitseteist", "kaheksateist", "üheksateist") Kui n < = 0 Siis SUMWRITE = "null" Välju funktsioonist End If 'jagage arv numbriteks, kasutades abifunktsiooni Class ed = klass(n, 1) dec = klass(n, 2) sot = klass(n, 3) tys = klass (n, 4) dectys = klass(n , 5) sottys = klass(n, 6) mil = klass(n, 7) decmil= klass(n, 8) 'kontrollige miljoneid Valige Juhtjuhtum decmil Juhtum 1 mil_txt = Numbrid5(mil ) & "miljonid " GoTo www Juhtum 2 kuni 9 decmil_txt = Numbrid2 (decmil) Lõpp Valige Juhtum Mil Juhtum 1 mil_txt = Numbrid1 (mil) & "Million " Juhtum 2, 3, 4 mil_txt = Numbrid1 (mil) & "miljon" Juhtum 5 kuni 20 mil_txt = Numbrid1(mil) & "miljonid " Lõpp Vali www: sottys_txt = Numbrid3(sottys) ' kontrolli tuhandeid Vali Juhtum dectys Juhtum 1 tys_txt = Numbrid5(tys) & "tuhanded " GoTo eee Juhtum 2 kuni 9 dectys_ Numbrid2(dectys) Lõpp Vali Vali Juhtum tys Juhtum 0 Kui dectys > 0 Siis tys_txt = Numbrid4(tys) & "tuhanded " Juhtum 1 tys_txt = Numbrid4(tys) & "thousand " Juhtum 2, 3, 4 tys_txt = Nums4(tys) & "tuhanded " Juhtum 5 kuni 9 tys_txt = Numbrid4(tys) & "tuhanded " Lõpp Valige Kui dectys = 0 Ja tys = 0 Ja sottys <> 0 Siis sottys_txt = sottys_txt & "tuhanded" eee: sot_txt = Nums3'(sot kontrolli kümneid Vali Case dec Juhtum 1 ed_txt = Nums5(ed) GoTo rrr Juhtum 2 kuni 9 dec_txt = Nums2(dec) End Select ed_txt = Nums1 (ed) rrr: 'moodustage viimane rida, kus SUM IN SPEECH = decmil_ txt & mil_txt sottys_txt & dectys_txt & tys_txt & sot_txt & dec_txt & ed_txt Lõppfunktsioon ' abifunktsioon numbrite arvust eraldamiseks Privaatfunktsioon Klass(M, I) Klass = Int(Int(M - (10 ^ I) * Int(M / () 10 ^ I))) / 10 ^ (I - 1)) Lõppfunktsioon    

Salvestage fail (kui teil on Excel 2007 või 2010, siis failitüüp peab olema makro lubatud ehk xlsm formaat!) ja naaske Excelisse. Nüüd saad loodud funktsiooni sisestada töölehe mis tahes lahtrisse tavapärasel viisil – funktsiooniviisardi kaudu (nupp fx valemiribal, kategoorias Kasutaja määratletud) või lihtsalt sisestades selle käsitsi lahtrisse ja määrates argumendina lahtri summaga:

Kui teil on vaja saadud tekstile sente lisada, võite kasutada veidi keerukamat konstruktsiooni:

 u3d SUMMA KIRJALIKULT (A3) & ” hõõruda. “&TEKST((A3-INTEGER(A100))*00;”XNUMX″)&”politsei.” 

u3d SUMMA KIRJALIKULT (A3) & ” hõõruda. "&TEXT((A3-INT(A100))*00;"XNUMX")&"politsei."

Siis näiteks numbri 35,15 korral näeb funktsiooni tulemus välja nagu "kolmkümmend viis rubla. 15 kop."

 

  • Funktsiooni võimsam versioon rublade ja kopikatega / inglise keeles PLEXi lisandmoodulist
  • Mis on makrod, kuhu sisestada makrokood, kuidas neid kasutada

 

Jäta vastus