המרת מספרים למילים

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

Excel אינו כולל פונקציה המהווה ברירת מחדל המציגה מספרים כמילים באנגלית בגליון עבודה, אך באפשרותך להוסיף יכולת זו על-ידי הדבקת את הקוד הבא של הפונקציה SpellNumber מודול VBA (Visual Basic for Applications). פונקציה זו מאפשרת לך להמיר טווחי דולר סנט מילים באמצעות נוסחה, כך 22.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 (Code) תיבת.

    קוד מודבק Module1 התיבה (Code).
  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

שפר את הכישורים שלך ב- Office
סייר בהדרכה
קבל תכונות חדשות לפני כולם
הצטרף למשתתפי Office Insider

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

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

תודה על המשוב! נראה שכדאי לקשר אותך לאחד מנציגי התמיכה של Office.

×