Swma yn llaes

Cynnwys

Isod fe welwch swyddogaeth parod wedi'i diffinio gan ddefnyddwyr yn VBA sy'n cyfieithu unrhyw rif o 0 9 i i mewn i'w gynrychioliad testunol, hy yn y swm mewn geiriau. Cyn ei ddefnyddio, rhaid ychwanegu'r swyddogaeth hon at eich llyfr. Ar gyfer hyn:

  1. pwyswch y llwybr byr bysellfwrdd ALT + F11i agor y Golygydd Sylfaenol Gweledol
  2. ychwanegu modiwl gwag newydd trwy'r ddewislen Mewnosod – Modiwl
  3. copïwch a gludwch destun y swyddogaeth hon yno:
Swyddogaeth SUM(n Fel Dwbl) Fel Llinyn Dim Nums1, Nums2, Nums3, Nums4 Fel Amrywiad Nums1 = Array("", "un", "dau", "tri", "pedwar", "pump", "chwech", "saith", "wyth", "naw") Nums2 = Array(", "deg", "ugain", "tri deg", "deugain", "fifty", " sixty", "seventy", _ " eighty ", "naw deg") Nums3 = Array("", "cant", "dau gant", "tri chant", "pedwar cant", "pum cant", "chwe chant", "saith cant", _ " wyth cant", "naw cant") Nums4 = Array (", "un", "dau", "tri", "pedwar", "pump", "chwech", "saith", "wyth", "naw ") Nums5 = Array (" deg " , "un ar ddeg", "deuddeg", "tri ar ddeg", "pedwar ar ddeg", _ "pymtheg", "un ar bymtheg", "saith ar bymtheg", "deunaw", "pedwar ar bymtheg") Os n < = 0 Yna SUMWRITE = "sero" Diwedd Swyddogaeth Gadael Os 'rhannwch y rhif yn ddigidau gan ddefnyddio'r ffwythiant cynorthwyol Dosbarth ed = Dosbarth(n, 1) dec = Dosbarth(n, 2) sot = Dosbarth(n, 3) tys = Dosbarth (n, 4) dectys = Dosbarth(n , 5) sottys = Dosbarth(n, 6) mil = Dosbarth(n, 7) decmil= Dosbarth(n, 8) 'gwirio miliynau Dewiswch Achos decmil Achos 1 mil_txt = Nums5(mil )&" miliynau " GoTo www Achos 2 I 9 decmil_txt = Nums2(decmil) Diwedd Dewis Dewis Achos mil Achos 1 mil_txt = Nums1(mil) & " miliwn " Achos 2, 3, 4 mil_txt = Nums1(mil) & "miliwn " Achos 5 i 20 mil_txt = Nums1(mil) a "miliynau" Diwedd Dewiswch www: sottys_txt = Nums3(sottys) ' gwirio miloedd Dewiswch Achos dectys Achos 1 tys_txt = Nums5(tys) a "miloedd" GoTo eee Achos 2 i 9 dectys_txt = Nums2(dectys) Diwedd Dewiswch Dewiswch Achos Achos 0 Os dectys > 0 Yna tys_txt = Nums4(tys) & "miloedd" Achos 1 tys_txt = Nums4(tys) & "mil" Achos 2, 3, 4 tys_txt = Nums4(tys) & "miloedd" Achos 5 I 9 tys_txt = Nums4(tys) & "miloedd" Diwedd Dewiswch Os dectys = 0 A tys = 0 A sottys <> 0 Yna sottys_txt = sottys_txt & "miloedd" eee: sot_txt = Nums3(sot) 'gwirio degau Dewiswch Achos rhag Achos 1 ed_txt = Nums5(ed) GoTo rrr Achos 2 I 9 dec_txt = Nums2(rhag) Diwedd Dewiswch ed_txt = Nums1 (ed) rrr: 'ffurfiwch y rhes olaf gyda SUM IN SPEECH = decmil_ txt & mil_txt & sottys_txt & dects_txt & dects_txt & dec tys_txt & sot_txt & dec_txt & ed_txt Diwedd Fu nction ' swyddogaeth helpwr i dynnu o nifer y digidau Dosbarth Swyddogaeth Breifat(M, I) Dosbarth = Int(Int(M - (10 ^ I) * Int(M / (10 ^ I)))) / 10 ^ (I - 1)) Swyddogaeth Diwedd    

Cadwch y ffeil (os oes gennych Excel 2007 neu 2010, yna mae'n rhaid i'r math o ffeil fod wedi'i macro-alluogi, hy fformat xlsm!) a dychwelyd i Excel. Nawr gallwch chi fewnosod y swyddogaeth a grëwyd i unrhyw gell o'r daflen waith yn y ffordd arferol - trwy'r dewin swyddogaeth (botwm fx yn y bar fformiwla, categori Diffiniwyd y Defnyddiwr) neu'n syml trwy ei deipio yn y gell â llaw a nodi'r gell â'r swm fel dadl:

Os oes angen i chi ychwanegu ceiniogau at y testun a dderbyniwyd, yna gallwch ddefnyddio adeiladwaith ychydig yn fwy cymhleth:

 u3d SWM WRTH YSGRIFENNU (A3) &” rhwb. “&TEXT((A3-INTEGER(A100))*00;”XNUMX″)&”cop.” 

u3d SWM WRTH YSGRIFENNU (A3) &” rhwb. “&TEXT((A3-INT(A100))*00;”XNUMX″)&”cop.”

Yna, er enghraifft, ar gyfer y rhif 35,15, bydd canlyniad y swyddogaeth yn edrych fel "tri deg pump rubles. 15 cwp.”

 

  • Fersiwn mwy pwerus o'r swyddogaeth gyda rubles a kopecks yn / Saesneg o'r ychwanegiad PLEX
  • Beth yw macros, ble i fewnosod cod macro, sut i'w defnyddio

 

Gadael ymateb