Сума

мазмуну

Төмөндө сиз каалаган санды которгон VBAда колдонуучу аныктаган даяр функцияны табасыз 0 тартып 9 үчүн анын тексттик чагылдырылышына, башкача айтканда, сөз менен берилген суммада. Колдонуудан мурун бул функция китебиңизге кошулушу керек. Бул үчүн:

  1. баскычтоптун жарлыгын басыңыз ALT + F11Visual Basic редакторун ачуу үчүн
  2. меню аркылуу жаңы бош модулду кошуу Кыстаруу – модуль
  3. Бул функциянын текстин көчүрүп, ошол жерге чаптаңыз:
Функция SUM(n Double) Сап катары Dim Сандар1, Сандар2, Сандар3, Сандар4 Вариант катары Сандар1 = Массив("", "бир", "эки", "үч", "төрт", "беш", "алты", "жети", "сегиз", "тогуз") Nums2 = Array("", "он", "жыйырма", "отуз", "кырк", "элүү", "алтымыш", "жетимиш", _ "сексен ", "токсон") Сандар3 = Массив("", "жүз", "эки жүз", "үч жүз", "төрт жүз", "беш жүз", "алты жүз", "жети жүз", _ " сегиз жүз", "тогуз жүз") Nums4 = Array("", "бир", "эки", "үч", "төрт", "беш", "алты", "жети", "сегиз", "тогуз ") Nums5 = Array("он " , "он бир", "он эки", "он үч", "он төрт", _ "он беш", "он алты", "он жети", "он сегиз", "он тогуз") If n < = 0 Анда SUMWRITE = "нөл" Чыгуу Function End If 'жардамчы функциянын жардамы менен санды сандарга бөлүңүз Class ed = Class(n, 1) dec = Class(n, 2) sot = Class(n, 3) tys = Класс (n, 4) dectys = Class(n, 5) sottys = Class(n, 6) mil = Class(n, 7) decmil= Class(n, 8) 'миллиондарды текшерүү Декмилди тандаңыз Case 1 mil_txt = Nums5(mil). ) & "миллиондор " GoTo www Иш 2ден 9га чейин decmil_txt = Сандар2(decmil) Аяктоо Тандоо Тандоо Ишти mil 1 mil_txt = Сандар1(миллион) & "миллион" 2, 3, 4 mil_txt = Сандар1(миллион) & "миллион" 5тен 20га чейин mil_txt = Сандар1(миллион) & "миллиондор" Аягы Тандоо www: sottys_txt = Nums3(sottys) ' текшерүү миңдерди тандоо Дектий 1-жагдай tys_txt = Nums5(tys) & "миңдер" GoTo eee Иш 2ден 9га чейин dectys_txt = Nums2(dectys) Аяктоо тандоо Тандоо Case tys Case 0 If dectys > 0 Анда tys_txt = Nums4(tys) & "thousands" Case 1 tys_txt = Nums4(tys) & "thousand" Case 2, 3, 4 tys_txt = Nums4(tys) & "миңдер" Case 5 - 9 tys_txt = Nums4(tys) & "thousands" End Select If dectys = 0 And tys = 0 And sottys <> 0 Анда sottys_txt = sottys_txt & "thousands" eee: sot_txt = Nums3(sot) 'ондуктарды текшерүү Кейс тандоо dec Case 1 ed_txt = Nums5(ed) GoTo rrr Case 2 to 9 dec_txt = Nums2(dec) End Тандоо ed_txt = Nums1 (ed) rrr: 'SUM IN SPEECH = decmil_ txt & mil_txt & sottystxt & dectystxt менен акыркы катарды түзүңүз tys_txt & sot_txt & dec_txt & ed_txt End Fu nction ' жардамчы функция сандардын санынан чыгаруу үчүн Жеке функция Класс(M, I) Класс = Int(Int(M - (10 ^ I) * Int(M / (10 ^ I))) / 10 ^ (I - 1)) Аяктоо функциясы    

Файлды сактаңыз (эгерде сизде Excel 2007 же 2010 болсо, анда файлдын түрү макрокоштурулган болушу керек, башкача айтканда xlsm форматы!) жана Excelге кайтыңыз. Эми сиз түзүлгөн функцияны иш барагынын каалаган ячейкасына кадимкидей - функция устасы (баскыч) аркылуу киргизе аласыз. fx формула тилкесинде, категорияда Колдонуучу аныкталган) же жөн эле уячага кол менен терип, аргумент катары суммасы менен уячаны көрсөтүү менен:

Эгер сиз алынган текстке тыйын кошуу керек болсо, анда сиз бир аз татаал конструкцияны колдоно аласыз:

 u3d СУМА ЖАЗУУ (A3) & ” руб. “&ТЕКСТ((A3-БҮТҮН(A100))*00;”XNUMX″)&”коп.” 

u3d СУМА ЖАЗУУ (A3) & ” руб. “&TEXT((A3-INT(A100))*00;”XNUMX″)&”полиция.”

Анда, мисалы, 35,15 саны үчүн, функциянын натыйжасы "отуз беш рублга окшош болот. 15 коп.”

 

  • PLEX кошумчасынан англис тилиндеги рубль жана копектер менен функциянын күчтүүрөөк версиясы
  • Макрос деген эмне, макрокодду кайда киргизүү керек, аларды кантип колдонуу керек

 

Таштап Жооп