cursive içinde Suma

İçerik

Aşağıda, VBA'da herhangi bir sayıyı çeviren hazır, kullanıcı tanımlı bir işlev bulacaksınız. 0 gelen 9 için metinsel temsiline, yani kelimelerdeki miktara. Kullanmadan önce bu fonksiyon kitabınıza eklenmelidir. Bunun için:

  1. klavye kısayoluna basın ALT + F11Visual Basic Düzenleyicisini açmak için
  2. menüden yeni boş modül ekle Ekle – Modül
  3. bu işlevin metnini buraya kopyalayıp yapıştırın:
Fonksiyon SUM(n Çift Olarak) Dizge Olarak Dim Sayılar1, Sayılar2, Sayılar3, Sayılar4 Değişken Olarak Sayılar1 = Dizi("", "bir", "iki", "üç", "dört", "beş", "altı", "yedi", "sekiz", "dokuz") Nums2 = Dizi("", "on", "yirmi", "otuz", "kırk", "elli", "altmış", "yetmiş", _ "seksen ", "doksan") Nums3 = Array("", "yüz", "iki yüz", "üç yüz", "dört yüz", "beş yüz", "altı yüz", "yedi yüz", _ " sekiz yüz", "dokuz yüz") Nums4 = Dizi("", "bir", "iki", "üç", "dört", "beş", "altı", "yedi", "sekiz", "dokuz) ") Nums5 = Dizi("on " , "onbir", "oniki", "onüç", "ondört", _ "onbeş", "onaltı", "onyedi", "onsekiz", "ondokuz") If n < = 0 Sonra SUMWRITE = "sıfır" Çıkış Fonksiyonu End If 'yardımcı fonksiyonu kullanarak sayıyı basamaklara bölün Class ed = Class(n, 1) dec = Class(n, 2) sot = Class(n, 3) tys = Class (n, 4) dectys = Class(n , 5) sottys = Class(n, 6) mil = Class(n, 7) decmil= Class(n, 8) 'kontrol milyonlar Case Seç decmil Case 1 mil_txt = Nums5(mil ) & "millions " GoTo www Vaka 2 - 9 decmil_txt = Nums2(decmil) Son Seç Seç Vaka mil Vaka 1 mil_txt = Nums1(mil) & "million " Vaka 2, 3, 4 mil_txt = Nums1(mil) & "milyon" Durum 5 ila 20 mil_txt = Nums1(mil) & "millions " Son Seç www: sottys_txt = Nums3(sottys) ' binleri kontrol et Case dectys Durum 1 tys_txt = Nums5(tys) & "binlerce " Git eee Durum 2 ila 9 dectys_txt = Nums2(dectys) End Select Select Case tys Case 0 Eğer dectys > 0 ise, tys_txt = Nums4(tys) & "thousands " Case 1 tys_txt = Nums4(tys) & "thousand " Case 2, 3, 4 tys_txt = Nums4(tys) & "binlerce" Durum 5'ten 9'a tys_txt = Nums4(tys) & "thousands " End Seç If dectys = 0 Ve tys = 0 Ve sottys <> 0 O zaman sottys_txt = sottys_txt & "binlerce" eee: sot_txt = Nums3(sot) ' onlarcayı kontrol et Durum dec Durum 1 ed_txt = Nums5(ed) GoTo rrr Durum 2 - 9 dec_txt = Nums2(dec) Son Seç ed_txt = Nums1 (ed) rrr: 'SUM IN SPEECH = decmil_ txt & mil_txt & sottys_txt & dectys_txt & tys_txt & sot_txt & dec_txt & ed_txt End Function ' basamak sayısından ayıklamak için yardımcı fonksiyon Private Function Class(M, I) Class = Int(Int(M - (10 ^ I) * Int(M / ( 10 ^ I))) / 10 ^ (I - 1)) Son Fonksiyon    

Dosyayı kaydedin (eğer Excel 2007 veya 2010'a sahipseniz, dosya türü makro etkin, yani xlsm biçiminde olmalıdır!) ve Excel'e dönün. Artık oluşturulan işlevi, çalışma sayfasının herhangi bir hücresine normal şekilde - işlev sihirbazı (düğme) aracılığıyla ekleyebilirsiniz. fx formül çubuğunda, kategori Kullanıcı Tanımlı) veya basitçe hücreye manuel olarak yazarak ve miktarı argüman olarak hücreyi belirterek:

Alınan metne kuruş eklemeniz gerekiyorsa, biraz daha karmaşık bir yapı kullanabilirsiniz:

 u3d YAZILI OLARAK TOPLA (A3) & ” ovmak. “&METİN((A3-INTEGER(A100))*00;”XNUMX″)&”polis.” 

u3d YAZILI OLARAK TOPLA (A3) & ” ovmak. “&METİN((A3-INT(A100))*00;”XNUMX″)&”polis.”

Ardından, örneğin, 35,15 sayısı için, işlevin sonucu “otuz beş ruble gibi görünecektir. 15 kop.”

 

  • PLEX eklentisinden ruble ve kopek / İngilizce ile işlevin daha güçlü bir sürümü
  • Makro nedir, makro kodu nereye eklenir, nasıl kullanılır

 

Yorum bırak