سوما در قیاس

فهرست

در زیر یک تابع آماده تعریف شده توسط کاربر در VBA را خواهید دید که هر عددی را ترجمه می کند از 0 به 9 به نمایش متنی آن، یعنی در مقدار در کلمات. قبل از استفاده، این تابع باید به کتاب شما اضافه شود. برای این:

  1. میانبر صفحه کلید را فشار دهید ALT + F11برای باز کردن ویرایشگر ویژوال بیسیک
  2. اضافه کردن ماژول جدید خالی از طریق منو درج - ماژول
  3. متن این تابع را در آنجا کپی و پیست کنید:
تابع SUM(n به عنوان Double) به عنوان رشته کم نور Nums1، Nums2، Nums3، Nums4 به عنوان متغیر Nums1 = آرایه("، "یک"، "دو"، "سه"، "چهار"، "پنج"، "شش"، "هفت"، "هشت"، "نه") Nums2 = آرایه(""، "ده"، "بیست"، "سی"، "چهل"، "پنجاه"، "شصت"، "هفتاد"، _ "هشتاد" "، "نود") Nums3 = آرایه(""، "صد"، "دویست"، "سیصد"، "چهارصد"، "پانصد"، "ششصد"، "هفتصد"، _ " هشتصد»، «نهصد») Nums4 = آرایه (»»، «یک»، «دو»، «سه»، «چهار»، «پنج»، «شش»، «هفت»، «هشت»، «نه» ") Nums5 = آرایه(" ده "، "یازده"، "دوازده"، "سیزده"، "چهارده"، _ "پانزده"، "شانزده"، "هفده"، "هجده"، "نوزده") اگر n < = 0 سپس SUMWRITE = "صفر" تابع خروج پایان اگر 'عدد را با استفاده از تابع کمکی به ارقام تقسیم کنید 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 decmil Case 1 mil_txt = Nums5(mil ) & "میلیون ها " GoTo www Case 2 To 9 decmil_txt = Nums2 (decmil) End Select Case mil Case 1 mil_txt = Nums1(mil) & "million" Case 2, 3, 4 mil_txt = Nums1(mil) & "میلیون" مورد 5 تا 20 mil_txt = Nums1(mil) & "millions" End Select www: sottys_txt = Nums3(sottys) ' بررسی هزاران مورد انتخاب Case dectys Case 1 tys_txt = Nums5(tys) & "thousands" GoTo eee Case 2 تا 9 dectys_txt =Nums پایان انتخاب انتخاب مورد tys Case 2 If dectys > 0 سپس tys_txt = Nums0(tys) & "thousands" Case 4 tys_txt = Nums1(tys) & "thousand" Case 4, 2, 3 tys_txt = Nums4(tys) & "thous Case 4 تا 5 tys_txt = Nums9(tys) & "thousands" End Select If dectys = 4 And tys = 0 And sottys <> 0 سپس sottys_txt = sottys_txt & "هزاران" eee: sot_txt = Nums0(sot) گزینه را انتخاب کنید dec Case 3 ed_txt = Nums1(ed) GoTo rrr مورد 5 تا 2 dec_txt = Nums9(dec) End انتخاب ed_txt = Nums2 (ed) rrr: «سطر آخر را با SUM IN SPEECH = decmil_ txt & mil_txt & sottyst & sottyst تشکیل دهید tys_txt & sot_txt & dec_txt & ed_txt End Fu تابع کمکی nction برای استخراج از تعداد ارقام Class تابع خصوصی (M, I) Class = Int(Int(M - (1 ^ I) * Int(M / (10 ^ I))) / 10 ^ (I - 10)) تابع پایان    

فایل را ذخیره کنید (اگر اکسل 2007 یا 2010 دارید، پس نوع فایل باید ماکرو فعال باشد، یعنی فرمت xlsm!) و به اکسل برگردید. اکنون می توانید تابع ایجاد شده را به روش معمول - از طریق جادوگر تابع (دکمه) در هر سلولی از کاربرگ وارد کنید fx در نوار فرمول، دسته تعریف شده توسط کاربر) یا به سادگی با تایپ آن در سلول به صورت دستی و مشخص کردن سلول با مقدار به عنوان آرگومان:

اگر نیاز به اضافه کردن پنی به متن دریافتی دارید، می توانید از ساختار کمی پیچیده تر استفاده کنید:

 u3d SUM IN WRITE (A3) & ” rub. "&TEXT((A3-INTEGER(A100))*00;"XNUMX″)&"پلیس." 

u3d SUM IN WRITE (A3) & ” rub. "&TEXT((A3-INT(A100))*00;"XNUMX″)&"پلیس."

سپس، به عنوان مثال، برای عدد 35,15،15، نتیجه تابع مانند "سی و پنج روبل" خواهد بود. XNUMX کوپ."

 

  • A more powerful version of the function with rubles and kopecks in / English from the PLEX add-on
  • ماکروها چیست، کد ماکرو را کجا وارد کنیم، چگونه از آنها استفاده کنیم

 

پاسخ دهید