كيفية تحويل قيمة رقمية إلى كلمات باللغة الإنجليزية في برنامج Excel

انتهاء دعم Office 2003

لقد أنهت شركة Microsoft دعم Office 2003 في 8 أبريل، 2014. وقد أثر هذا التغيير على تحديثات البرامج لديك وخيارات الأمان الخاصة بك. تعرف على ما يعنيه ذلك فيما يتعلق بك وكيفية الحفاظ على حمايتك.

الموجز
تحتوي هذه المقالة على نموذج Microsoft Visual Basic للتطبيقاتالدوال التي يمكنك استخدامها لتحويل القيمة الرقمية في الخلية بورقة عمل Microsoft Excel إلى نظيرها بالكلمات الإنجليزية.
معلومات أخرى
تقدم Microsoft الأمثلة البرمجية بغرض التوضيح فقط، دون أي ضمان صريح أو ضمني. ويتضمن ذلك - على سبيل المثال لا الحصر - الضمانات الضمنية الخاصة بالتسويق أو الملاءمة لغرض معين. تفترض هذه المقالة أنك معتاد على لغة البرمجة التي يتم شرحها والأدوات المستخدمة لإنشاء الإجراءات وتصحيحها. يمكن لمهندسي الدعم لدى Microsoft شرح الوظيفة الخاصة بإجراء معين. على الرغم من ذلك، لن يقوموا بتعديل هذه الأمثلة لتقديم وظيفة إضافية أو إنشاء إجراءات لاستيفاء متطلباتك الخاصة.

كيفية إنشاء نموذج لدالة تسمى SpellNumber

  1. قم بتشغيل Microsoft Excel.
  2. اضغط مفتاحي ALT+F11 لبدء تشغيل محرر Visual Basic.
  3. من القائمة Insert (إدراج)، انقر فوق Module (وحدة نمطية).
  4. اكتب الرمز التالي في ورقة وحدة نمطية.
    Option Explicit'Main FunctionFunction 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 & CentsEnd 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 = ResultEnd 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 = ResultEnd 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 SelectEnd Function					

كيفية استخدام نموذج دالة SpellNumber

لاستخدام نماذج الدوال لتغيير رقم ليصبح نص مكتوب، استخدم إحدى الطرق الموضحة في الأمثلة التالية:

الطريقة الأولى: إدخال مباشر

يمكنك تغيير 32.50 ليصبح "اثنين وثلاثين دولارًا وخمسين سنتا" بإدخال الصيغة التالية في خلية:
=SpellNumber(32.50)الطريقة الثانية:

مرجع الخلية

يمكنك الإشارة إلى خلايا أخرى في المصنف. على سبيل المثال، أدخل رقم 32.50 في الخلية A1، واكتب الصيغة التالية في خلية أخرى:
=SpellNumber(A1)الطريقة الثالثة:

إدراج دالة

لاستخدام إدراج دالة، اتبع الخطوات التالية:


Excel 2003:
  1. حدد الخلية التي تريدها.
  2. انقر فوق إدراج دالة على شريط الأدوات القياسي.
  3. ضمن أو تحديد فئة، انقر فوق معرفة من قِبل المستخدم.
  4. في قائمة تحديد دالة، انقر فوق SpellNumber، ثم انقر فوق موافق.
  5. أدخل الرقم أو مرجع الخلية المرادين، ثم انقر فوق موافق.

Excel 2007 و 2010:
  1. حدد الخلية التي تريدها.
  2. انقر فوق إدراج دالة على الشريط الصيغ .
  3. ضمن أو تحديد فئة، انقر فوق معرفة من قِبل المستخدم.
  4. في قائمة تحديد دالة، انقر فوق SpellNumber، ثم انقر فوق موافق.
  5. أدخل الرقم أو مرجع الخلية المرادين، ثم انقر فوق موافق.



XL2003 XL2007 XL2010 Number Numbers Currency spell 
خصائص

رقم الموضوع: 213360 - آخر مراجعة: 10/29/2015 14:08:00 - المراجعة: 19.0

Microsoft Office Excel 2003, Microsoft Office Excel 2007, Microsoft Excel 2010, Excel 2016, Microsoft Excel 2013

  • kbdtacode kbhowto kbprogramming KB213360
تعليقات