סומא בקול קורא

תוכן

למטה תמצאו פונקציה מוכנה המוגדרת על ידי משתמש ב-VBA שמתרגמת כל מספר מ0 ל9 לתוך הייצוג הטקסטואלי שלו, כלומר בכמות במילים. לפני השימוש, יש להוסיף פונקציה זו לספר שלך. לזה:

  1. לחץ על קיצור המקלדת ALT + F11כדי לפתוח את עורך Visual Basic
  2. הוסף מודול ריק חדש דרך התפריט הכנס - מודול
  3. העתק והדבק שם את הטקסט של הפונקציה הזו:
הפונקציה SUM(n As Double) As String Dim Nums1, Nums2, Nums3, Nums4 As Variant Nums1 = Array("", "one", "two", "three", "four", "five", "six", "שבע", "שמונה", "תשע") Nums2 = מערך("", "עשר", "עשרים", "שלושים", "ארבעים", "חמישים", "שישים", "שבעים", _ "שמונים ", "תשעים") Nums3 = Array("", "מאה", "מאתיים", "שלוש מאות", "ארבע מאות", "חמש מאות", "שש מאות", "שבע מאות", _ " שמונה מאות", "תשע מאות") Nums4 = מערך("", "אחד", "שתיים", "שלוש", "ארבע", "חמש", "שש", "שבע", "שמונה", "תשע" ") Nums5 = Array("ten " , "eleven", "שתים עשרה", "שלוש עשרה", "ארבע עשרה", _ "חמש עשרה", "שש עשרה", "שבע עשרה", "שמונה עשרה", "תשע עשרה") אם n < = 0 אז SUMWRITE = "אפס" יציאה פונקציה סוף אם 'חלק את המספר לספרות באמצעות פונקציית העזר 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) 'check millions Select Case decmil Case 1 mil_txt = Nums5(mil ) & "מיליונים " GoTo www Case 2 To 9 decmil_txt = Nums2(decmil) End Select Select Case mil Case 1 mil_txt = Nums1(mil) & "million" Case 2, 3, 4 mil_txt = Nums1(mil) & "million " Case 5 To 20 mil_txt = Nums1(mil) & "millions " End Select www: sottys_txt = Nums3(sottys) ' בדוק אלפים Select Case dectys Case 1 tys_txt = Nums5(tys) & "thousands " GoTo eee Case 2 To 9 dectys_txt = Nums2(dectys) End Select Select Case tys Case 0 If dectys > 0 Then tys_txt = Nums4(tys) & "thousands " Case 1 tys_txt = Nums4(tys) & "thousand " Case 2, 3, 4 tys_txt = Nums4(tys) & "thousands " מקרה 5 עד 9 tys_txt = Nums4(tys) & "אלפים " End Select If dectys = 0 ו-tys = 0 And sottys <> 0 ואז sottys_txt = sottys_txt & "thousands" eee: sot_txt = Nums3(sot) 'בדוק עשרות בחר מקרה dec מקרה 1 ed_txt = Nums5(ed) GoTo rrr מקרה 2 עד 9 dec_txt = Nums2(dec) End Select ed_txt = Nums1 (ed) rrr: 'צור את השורה האחרונה עם SUM IN SPEECH = decmil_ txt & mil_txt & sottys_txt & dectystxt tys_txt & sot_txt & dec_txt & ed_txt End Fu nction ' פונקציית עוזר לחלץ ממספר הספרות Private Function Class(M, I) Class = Int(Int(M - (10 ^ I) * Int(M / (10 ^ I))) / 10 ^ (I - 1) פונקציית סיום    

שמור את הקובץ (אם יש לך Excel 2007 או 2010, אז סוג הקובץ חייב להיות מאופשר מאקרו, כלומר פורמט xlsm!) וחזור לאקסל. כעת תוכל להכניס את הפונקציה שנוצרה לכל תא של גליון העבודה בדרך הרגילה - באמצעות אשף הפונקציות (כפתור fx בשורת נוסחאות, קטגוריה משתמש הוגדר) או פשוט על ידי הקלדה ידנית בתא וציון התא עם הסכום כארגומנט:

אם אתה צריך להוסיף פרוטות לטקסט שהתקבל, אז אתה יכול להשתמש בבנייה קצת יותר מורכבת:

 u3d סכום בכתב (A3) & " לשפשף. "&TEXT((A3-INTEGER(A100))*00;"XNUMX″)&"cop." 

u3d סכום בכתב (A3) & " לשפשף. "&TEXT((A3-INT(A100))*00;"XNUMX″)&"cop."

ואז, למשל, עבור המספר 35,15, התוצאה של הפונקציה תיראה כמו "שלושים וחמישה רובל. 15 קופות."

 

  • גרסה חזקה יותר של הפונקציה עם רובל וקופיקות באנגלית / מהתוסף PLEX
  • מהן פקודות מאקרו, היכן להכניס קוד מאקרו, כיצד להשתמש בהן

 

השאירו תגובה