היכנס דרך Microsoft
היכנס או צור חשבון.
שלום,
בחר חשבון אחר.
יש לך חשבונות מרובים
בחר את החשבון שברצונך להיכנס באמצעותו.

Excel אינו כולל פונקציית ברירת מחדל המציגה מספרים כמילים באנגלית בגליון עבודה, אך באפשרותך להוסיף יכולת זו על-ידי הדבקת קוד הפונקציה של SpellNumber הבא במודול VBA (Visual Basic for Applications). פונקציה זו מאפשרת לך להמיר סכומי דולרים וסנטים למילים באמצעות נוסחה, כך ש- 22.50 יוקראו כTwenty-Two דולרים ו-50 סנט. פעולה זו עשויה להיות שימושית מאוד אם אתה משתמש ב- Excel כתבנית כדי להדפיס את ההבדקות.

אם ברצונך להמיר ערכים מספריים לתבנית טקסט מבלי להציג אותם כמילים, השתמש בפונקציה TEXT במקום זאת.

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

יצירת הפונקציה SpellNumber להמרת מספרים למילים

  1. השתמש בקיצור המקשים Alt + F11 כדי לפתוח את עורך Visual Basic (VBE).

    הערה: באפשרותך גם לגשת לעורך Visual Basic על-ידי הצגת הכרטיסיה 'מפתחים ' ברצועת הכלים.

  2. לחץ על הכרטיסיה הוספה ולאחר מכן לחץ על מודול.

    בתפריט הוספה, לחץ על מודול.
  3. העתק את שורות הקוד הבאות.

    הערה: קוד זה, שנקרא פונקציה המוגדרת על-ידי המשתמש (UDF), הופך את המשימה של המרת מספרים לטקסט ברחבי גליון העבודה לאוטומטית.

    Option Explicit
    
    'Main Function
    
    Function SpellNumber(ByVal MyNumber)
    
    Dim Dollars, Cents, Temp
    
    Dim DecimalPlace, Count
    
    ReDim Place(9) As String
    
    Place(2) = " Thousand "
    
    Place(3) = " Million "
    
    Place(4) = " Billion "
    
    Place(5) = " Trillion "
    
    ' String representation of amount.
    
    MyNumber = Trim(Str(MyNumber))
    
    ' Position of decimal place 0 if none.
    
    DecimalPlace = InStr(MyNumber, ".")
    
    ' Convert cents and set MyNumber to dollar amount.
    
    If DecimalPlace > 0 Then
    
    Cents = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & _ "00", 2))
    
    MyNumber = Trim(Left(MyNumber, DecimalPlace - 1))
    
    End If
    
    Count = 1
    
    Do While MyNumber <> ""
    
    Temp = GetHundreds(Right(MyNumber, 3))
    
    If Temp <> "" Then Dollars = Temp & Place(Count) & Dollars
    
    If Len(MyNumber) > 3 Then
    
    MyNumber = Left(MyNumber, Len(MyNumber) - 3)
    
    Else
    
    MyNumber = ""
    
    End If
    
    Count = Count + 1
    
    Loop
    
    Select Case Dollars
    
    Case ""
    
    Dollars = "No Dollars"
    
    Case "One"
    
    Dollars = "One Dollar"
    
    Case Else
    
    Dollars = Dollars & " Dollars"
    
    End Select
    
    Select Case Cents
    
    Case ""
    
    Cents = " and No Cents"
    
    Case "One"
    
    Cents = " and One Cent"
    
    Case Else
    
    Cents = " and " & Cents & " Cents"
    
    End Select
    
    SpellNumber = Dollars & Cents
    
    End Function
    
    
    ' Converts a number from 100-999 into text
    
    Function GetHundreds(ByVal MyNumber)
    
    Dim Result As String
    
    If Val(MyNumber) = 0 Then Exit Function
    
    MyNumber = Right("000" & MyNumber, 3)
    
    ' Convert the hundreds place.
    
    If Mid(MyNumber, 1, 1) <> "0" Then
    
    Result = GetDigit(Mid(MyNumber, 1, 1)) & " Hundred "
    
    End If
    
    ' Convert the tens and ones place.
    
    If Mid(MyNumber, 2, 1) <> "0" Then
    
    Result = Result & GetTens(Mid(MyNumber, 2))
    
    Else
    
    Result = Result & GetDigit(Mid(MyNumber, 3))
    
    End If
    
    GetHundreds = Result
    
    End Function
    
    
    ' Converts a number from 10 to 99 into text.
    
    
    Function GetTens(TensText)
    
    Dim Result As String
    
    Result = "" ' Null out the temporary function value.
    
    If Val(Left(TensText, 1)) = 1 Then ' If value between 10-19...
    
    Select Case Val(TensText)
    
    Case 10: Result = "Ten"
    
    Case 11: Result = "Eleven"
    
    Case 12: Result = "Twelve"
    
    Case 13: Result = "Thirteen"
    
    Case 14: Result = "Fourteen"
    
    Case 15: Result = "Fifteen"
    
    Case 16: Result = "Sixteen"
    
    Case 17: Result = "Seventeen"
    
    Case 18: Result = "Eighteen"
    
    Case 19: Result = "Nineteen"
    
    Case Else
    
    End Select
    
    Else ' If value between 20-99...
    
    Select Case Val(Left(TensText, 1))
    
    Case 2: Result = "Twenty "
    
    Case 3: Result = "Thirty "
    
    Case 4: Result = "Forty "
    
    Case 5: Result = "Fifty "
    
    Case 6: Result = "Sixty "
    
    Case 7: Result = "Seventy "
    
    Case 8: Result = "Eighty "
    
    Case 9: Result = "Ninety "
    
    Case Else
    
    End Select
    
    Result = Result & GetDigit _
    
    (Right(TensText, 1)) ' Retrieve ones place.
    
    End If
    
    GetTens = Result
    
    End Function
    
    
    ' Converts a number from 1 to 9 into text.
    
    Function GetDigit(Digit)
    
    Select Case Val(Digit)
    
    Case 1: GetDigit = "One"
    
    Case 2: GetDigit = "Two"
    
    Case 3: GetDigit = "Three"
    
    Case 4: GetDigit = "Four"
    
    Case 5: GetDigit = "Five"
    
    Case 6: GetDigit = "Six"
    
    Case 7: GetDigit = "Seven"
    
    Case 8: GetDigit = "Eight"
    
    Case 9: GetDigit = "Nine"
    
    Case Else: GetDigit = ""
    
    End Select
    
    End Function
  4. הדבק את שורות הקוד בתיבה Module1 (קוד ).

    קוד המודבק בתיבה Module1 (קוד).
  5. הקש Alt + Q כדי לחזור ל- Excel. הפונקציה SpellNumber מוכנה כעת לשימוש.

    הערה: פונקציה זו פועלת רק עבור חוברת העבודה הנוכחית. כדי להשתמש בפונקציה זו בחוברת עבודה אחרת, עליך לחזור על השלבים להעתקה והדבקה של הקוד בחוברת עבודה זו.

לראש הדף

שימוש בפונקציה SpellNumber בתאים בודדים

  1. הקלד את הנוסחה =SpellNumber(A1) בתא שבו ברצונך להציג מספר כתוב, כאשר A1 הוא התא המכיל את המספר שברצונך להמיר. באפשרותך גם להקליד באופן ידני את הערך, כגון =SpellNumber(22.50).

  2. הקש Enter כדי לאשר את הנוסחה.

לראש הדף

שמירת חוברת העבודה של פונקציית SpellNumber

ל- Excel אין אפשרות לשמור חוברת עבודה עם פונקציות מאקרו בתבנית הרגילה של חוברת עבודה ללא פקודות מאקרו (.xlsx). אם תלחץ על קובץ >שמור. נפתחת תיבת דו-שיח של פרוייקט VB . לחץ על לא.

בתיבת הדו-שיח פרוייקט VB, לחץ על לא.

באפשרותך לשמור את הקובץ כקובץ Excel Macro-Enabled Workbook (.xlsm) כדי להשאיר את הקובץ בתבנית הנוכחית שלו.

  1. לחץ על קובץ > שמירה בשם.

  2. לחץ על התפריט הנפתח שמור כסוג ובחר Excel Macro-Enabled חוברת עבודה.

  3. לחץ על שמור.

לראש הדף

למידע נוסף

הפונקציה TEXT

זקוק לעזרה נוספת?

מעוניין באפשרויות נוספות?

גלה את יתרונות המנוי, עיין בקורסי הדרכה, למד כיצד לאבטח את המכשיר שלך ועוד.

קהילות עוזרות לך לשאול שאלות ולהשיב עליהן, לתת משוב ולשמוע ממומחים בעלי ידע עשיר.

האם מידע זה היה שימושי?

עד כמה אתם מרוצים מאיכות השפה?
מה השפיע על החוויה שלך?
בלחיצה על 'שלח', אתה מאפשר למשוב שלך לשפר מוצרים ושירותים של Microsoft. מנהל ה-IT שלך יוכל לאסוף נתונים אלה. הצהרת הפרטיות.

תודה על המשוב!

×