تحويل الأرقام إلى كلمات

ليس لدى Excel 2013 وExcel 2016 دالة افتراضية تعرض الأرقام ككلمات باللغة الإنجليزية في خلية جدول بيانات، ولكن يمكنك إضافة هذه الإمكانية بلصق التعليمة البرمجية للدالة SpellNumber في ورقة وحدة نمطية. تسمح لك هذه الدالة بتحويل مبلغ مالي من الريال والهللة إلى كلمات.

إذا كنت تريد تحويل القيم الرقمية لتنسيق النص بدون عرضها ككلمات، فاستخدم الدالة TEXT‏ بدلاً من ذلك.

في هذا المقال

إنشاء الدالة SpellNumber لتحويل أرقام إلى كلمات

  1. استخدم مفتاح الاختصار، Alt + F11 لفتح محرر Visual Basic.

    ملاحظة: يمكنك أيضاً الوصول إلى محرر Visual Basic عن طريق إظهار علامة التبويب المُطور في الشريط.

  2. انقر فوق علامة التبويب إدراج، ثم انقر فوق الوحدة النمطية.

    في قائمة إدراج، انقر فوق الوحدة النمطية.
  3. انسخ أسطر التعليمات البرمجية التالية.

    ملاحظة: يُطلق عليها اسم الدالة ماكرو‏، تقوم هذه التعليمة البرمجية بأتمتة المهام المتعلقة بتحويل أرقام إلى نص في جدول البيانات.

    Option Explicit

    الدالة الرئيسية

    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 "

    ' سلسلة تمثيل قيمة.

    MyNumber = Trim(Str(MyNumber))

    ' وضع مكان العلامة العشرية 0 إذا كان خالياً.

    DecimalPlace = InStr(MyNumber, ".")

    ' تحويل السنتات وتعيين MyNumber لمبلغ الدولار.

    If DecimalPlace > 0 Then

    Cents = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & _ ‎(00) 2

    MyNumber = Trim(Left(MyNumber, DecimalPlace - 1))

    End If

    العدد= 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

    ' تحول رقماً من 100-999 إلى نص

    Function GetHundreds(ByVal MyNumber)

    Dim Result As String

    If Val(MyNumber) = 0 Then Exit Function

    MyNumber = Right("000" & MyNumber, 3)

    ' تحول مكان المئات.

    If Mid(MyNumber, 1, 1) <> "0" Then

    Result = GetDigit(Mid(MyNumber, 1, 1)) & " Hundred "

    End If

    تحول مكان العشرات والآحاد.

    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

    ' تحول رقماً من 10 إلى 99 إلى نص

    Function GetTens(TensText)

    Dim Result As String

    Result = "" ' إفراغ قيمة الدالة المؤقتة.

    If Val(Left(TensText, 1)) = 1 Then ' ' إذا كانت القيمة بين 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 ' إذا كانت القيمة بين 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)) ' استرداد مكان الآحاد.

    End If

    GetTens = Result

    End Function

    ' تحول رقماً من 1 إلى 9 إلى نص.

    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. قم بلصق أسطر التعليمات البرمجية إلى المربع الوحدة النمطية 1 (تعليمة برمجية)‏.

    تعليمة برمجية مُلصقة في مُربع الوحدة النمطية 1 (تعليمة برمجية).
  5. انقر فوق ملف، وانقر فوق الإغلاق والعودة إلى Microsoft Excel‏. أصبحت الدالة SpellNumber الآن جاهزة للاستخدام.

    ملاحظة: تعمل هذه الدالة لملف Excel الحالي الذي قمت بفتحه. لاستخدام هذه الدالة في مصنف Excel آخر، يجب تكرار الخطوات لنسخ ولصق التعليمة البرمجية في ذلك الملف.

أعلى الصفحة

استخدام الدالة SpellNumber في خلايا فردية

  1. اكتب الصيغة =SpellNumber‎‏‎‏(قيمة) في الخلية حيث تريد عرض رقم مكتوب، لاستبدال قيمة برقم من اختيارك.

  2. على لوحة المفاتيح، اضغط على مفتاح الإدخال Enter.

    على سبيل المثال، إذا كتبت =SpellNumber(22.50)‎‏، فستقرؤه الخلية اثنين وعشرون ريالاً سعودياً وخمسون هللة.

    تلميح: لتحويل أرقام إلى نص في خلية منفصلة، استبدل القيمة الرقمية بمرجع الخلية في الصيغة SpellNumber. على سبيل المثال، اكتب =SpellNumber(A1)‎‏ لعرض القيمة المكتوبة للخلية A1.

أعلى الصفحة

حفظ مصنف الدالة SpellNumber

لا يمكن أن يحفظ Excel مصنفاً باستخدام دالات ماكرو بتنسيق مُصنف خالٍ من ماكرو قياسي. إذا قمت بالنقر فوق ملف > حفظ. سيُفتح مربع حوار مشروع ‎‏VB‎‏. انقر فوق لا.

في مربع حوار المشروع VB، انقر فوق "لا".

يمكنك حفظ الملف كـ ‎‏Excel Macro Enabled Template‎‏ للاحتفاظ بالتنسيق الحالي لملفك.

  1. انقر فوق ملف > حفظ باسم.

  2. انقر فوق حفظ بنوع في القائمة المنسدلة، وحدد Excel Macro-Enabled Template

    اختر قالب ماكرو ممكن في Excel.
  3. انقر فوق حفظ.

أعلى الصفحة

انظر أيضاً

الدالة ‎‏‎‏TEXT‎‏

توسيع المهارات
استكشاف التدريب
الحصول على الميزات الجديدة أولاً
الانضمام إلى Office Insider

هل كانت المعلومات مفيدة؟

نشكرك على ملاحظاتك!

شكراً لك على الملاحظات! يبدو أنه من المفيد إيصالك بأحد وكلاء دعم Office لدينا.

×