Suma dalam rasa ingin tahu

Contents [show]

Di bawah anda akan temui fungsi siap sedia ditetapkan pengguna dalam VBA yang menterjemah sebarang nombor dari 0 9 untuk ke dalam perwakilan teksnya, iaitu dalam jumlah dalam perkataan. Sebelum digunakan, fungsi ini mesti ditambahkan pada buku anda. Untuk ini:

  1. tekan pintasan papan kekunci ALT + F11untuk membuka Editor Visual Basic
  2. tambah modul kosong baharu melalui menu Sisipan – Modul
  3. salin dan tampal teks fungsi ini di sana:
Fungsi SUM(n Sebagai Ganda) Sebagai Rentetan Malap Nums1, Nums2, Nums3, Nums4 Sebagai Varian Nums1 = Array("", "satu", "dua", "tiga", "empat", "lima", "enam", "tujuh", "lapan", "sembilan") Nums2 = Array("", "sepuluh", "dua puluh", "tiga puluh", "empat puluh", "lima puluh", "enam puluh", "tujuh puluh", _ "lapan puluh ", "sembilan puluh") Nums3 = Array("", "seratus", "dua ratus", "tiga ratus", "empat ratus", "lima ratus", "enam ratus", "tujuh ratus", _ " lapan ratus", "sembilan ratus") Nums4 = Array("", "satu", "dua", "tiga", "empat", "lima", "enam", "tujuh", "lapan", "sembilan ") Nums5 = Array("sepuluh " , "sebelas", "dua belas", "tiga belas", "empat belas", _ "lima belas", "enam belas", "tujuh belas", "lapan belas", "sembilan belas") Jika n < = 0 Kemudian SUMWRITE = "sifar" Keluar Fungsi Tamat Jika 'bahagi nombor kepada digit menggunakan fungsi pembantu Class ed = Class(n, 1) dec = Class(n, 2) sot = Class(n, 3) tys = Class (n, 4) dettys = Kelas(n , 5) sottys = Kelas(n, 6) mil = Kelas(n, 7) decmil= Kelas(n, 8) 'semak berjuta Pilih Kes decmil Kes 1 mil_txt = Nums5(mil ) & "juta-juta " GoTo www Kes 2 Hingga 9 decmil_txt = Nums2(decmil) End Select Select Case mil Kes 1 mil_txt = Nums1(mil) & "juta " Kes 2, 3, 4 mil_txt = Nums1(mil) & "juta " Kes 5 Hingga 20 mil_txt = Nums1(mil) & "juta-juta " Tamat Pilih www: sottys_txt = Nums3(sottys) ' semak beribu-ribu Pilih Kes dectys Kes 1 tys_txt = Nums5(tys) & "ribuan " GoTo eee Kes 2 Hingga 9 dectys_txt = Nums2(dectys) End Select Select Case tys Case 0 Jika dectys > 0 Kemudian tys_txt = Nums4(tys) & "thousand" Case 1 tys_txt = Nums4(tys) & "thousand " Case 2, 3, 4 tys_txt = Nums4(tys) & "ribuan " Kes 5 Hingga 9 tys_txt = Nums4(tys) & "ribuan " Tamat Pilih Jika dectys = 0 Dan tys = 0 Dan sottys <> 0 Kemudian sottys_txt = sottys_txt & "ribuan" eee: sot_txt = Nums3(sot) ' semak puluhan Pilih Kes dec Kes 1 ed_txt = Nums5(ed) GoTo rrr Kes 2 Hingga 9 dec_txt = Nums2(dec) Tamat Pilih ed_txt = Nums1 (ed) rrr: 'bentuk baris terakhir dengan JUMLAH DALAM UCAPAN = decmil_ txt & mil_txt & sottys_txt & dectys_txt & tys_txt & sot_txt & dec_txt & ed_txt Tamat Fungsi ' fungsi pembantu untuk mengekstrak daripada bilangan digit Fungsi Persendirian Kelas(M, I) Kelas = Int(Int(M - (10 ^ I) * Int(M / () 10 ^ I))) / 10 ^ (I - 1)) Fungsi Tamat    

Simpan fail (jika anda mempunyai Excel 2007 atau 2010, maka jenis fail mesti didayakan makro, iaitu format xlsm!) dan kembali ke Excel. Kini anda boleh memasukkan fungsi yang dicipta ke dalam mana-mana sel lembaran kerja dengan cara biasa – melalui wizard fungsi (butang fx dalam bar formula, kategori Pengguna Ditentukan) atau hanya dengan menaipnya dalam sel secara manual dan menentukan sel dengan jumlah sebagai hujah:

Jika anda perlu menambah sen pada teks yang diterima, maka anda boleh menggunakan pembinaan yang sedikit lebih kompleks:

 u3d JUMLAH DALAM TULISAN (A3) & ” gosok. “&TEKS((A3-INTEGER(A100))*00;”XNUMX″)&”polis.” 

u3d JUMLAH DALAM TULISAN (A3) & ” gosok. “&TEXT((A3-INT(A100))*00;”XNUMX″)&”polis.”

Kemudian, sebagai contoh, untuk nombor 35,15, hasil fungsi akan kelihatan seperti "tiga puluh lima rubel. 15 kop.”

 

  • A more powerful version of the function with rubles and kopecks in / English from the PLEX add-on
  • Apakah makro, tempat untuk memasukkan kod makro, cara menggunakannya

 

Sila tinggalkan balasan anda