طريقة تحويل الأرقام إلى عربي في الإكسل

قد نحتاج في بعض الأحيان عند استخدام برنامج الإكسل إلى كتابة الأرقام بالحروف وذلك في عدة حالات مختلفة ومن أهمها كتابة الفواتير أو الشيكات والتي قد تتطلب إلى كتابة المبلغ بالأرقام وبالحروف أيضًا وهو ما يسمى بعملية تفقيط الأرقام، حيث أنه بعد كتابة المبلغ بالحروف لابد أيضًا من كتابة فقط لا غير حتى لا يتم التلاعب بالمبلغ، ونظرًا لأهمية هذا الموضوع لدى العديد من الأشخاص فكان لابد وأن نتطرق من خلال هذا المقال على كيفية تحويل الأرقام إلى عربي في الإكسل وهل هناك دالة في برنامج الإكسل تساعد في ذلك الأمر مثل دالة SUM التي تستخدم في حساب المجموع ودالة MAX التي تستخدم لحساب أكبر قيمة ودالة COUNT التي تستخدم في حساب عدد الخلايا أم لا فتابعوا معنا.

طريقة تحويل الأرقام إلى عربي في الإكسل

تحويل الأرقام إلى عربي في الإكسل

قد نحتاج في بعض الأحيان إلى كتابة الأرقام في صورة نص ولكن قد نلاحظ أنه عند كتابتها بهذا الشكل فإنها لا تظهر بنفس الطريقة التي كتبت بها وإنما سوف تظهر بهذه الصورة # ولا تظهر مكتوبة باللغة العربية التي كتبت بها.

فمثلًا إذا قمنا بكتابة رقم ١٢ بصيغة اثنى عشر فإنها لا تظهر بكلا الصورتين وإنما تظهر بهذه الصورة #، ولكي يتم معالجة هذا الأمر لابد من توفر دالة محددة لكي يتم حل هذه المشكلة، ولكن الشيء السيء في هذا الموضوع هو عدم توفر دالة افتراضية معينة تسمح بتحويل الأرقام إلي عربي في الإكسل، ولكن في هذه الحالة يجب عمل دالة يدوية مخصصة لذلك ويتم ذلك من خلال كتابة كود معين على الفيجوال بيسك أو لغة برمجة  VBA وهذا ما سوف نتعرف عليه من خلال الفقرة القادمة.

طريقة تحويل الأرقام إلى عربي في الإكسل

لكي تستطيع تحويل الأرقام إلى عربي في الإكسل لابد من القيام بالخطوات التالية:-

  • قم بفتح ملف جديد على برنامج الإكسل وقم باختيار تبويب Developer ومنها قم بالضغط على لغة Visual Basic.
  • ثم قم بعد ذلك بتحديد اسم المشروع والضغط عليه بزر الماوس الأيمن فتظهر قائمة مختصرة نختار منها Insert أو إدراج باللغة العربية ومنها قم باختيار Module وذلك لكي تتمكن من إدراج وحدة برمجية جديدة.
  • بعد ذلك سوف تظهر لك وحدة البرمجية الجديد باسم Module 1 التي سوف نضيف الكود من خلالها.
  • وبعد ذلك نقوم بنسخ هذا  الكود ولصقه في المكان المخصص له   

Function NumberToText(Number As Double, MainCurrency As String, SubCurrency As String)

Dim Array1(0 To 9) As String

Dim Array2(0 To 9) As String

Dim Array3(0 To 9) As String

Dim MyNumber As String

Dim GetNumber As String

Dim ReadNumber As String

Dim My100 As String

Dim My10 As String

Dim My1 As String

Dim My11 As String

Dim My12 As String

Dim GetText As String

Dim Billion As String

Dim Million As String

Dim Thousand As String

Dim Hundred As String

Dim Fraction As String

Dim MyAnd As String

Dim I As Integer

Dim ReMark As String

If Number  999999999999.99 Then Exit Function

If Number  0 Then

Number = Number  -1

ReMark = سالب

End If

If Number = 0 Then

NumberToText = صفر

Exit Function

End If

MyAnd =  و

Array1(0) =

Array1(1) = مائة

Array1(2) = مائتان

Array1(3) = ثلاثمائة

Array1(4) = أربعمائة

Array1(5) = خمسمائة

Array1(6) = ستمائة

Array1(7) = سبعمائة

Array1(8) = ثمانمائة

Array1(9) = تسعمائة

Array2(0) =

Array2(1) =  عشر

Array2(2) = عشرون

Array2(3) = ثلاثون

Array2(4) = أربعون

Array2(5) = خمسون

Array2(6) = ستون

Array2(7) = سبعون

Array2(8) = ثمانون

Array2(9) = تسعون

Array3(0) =

Array3(1) = واحد

Array3(2) = اثنان

Array3(3) = ثلاثة

Array3(4) = أربعة

Array3(5) = خمسة

Array3(6) = ستة

Array3(7) = سبعة

Array3(8) = ثمانية

Array3(9) = تسعة

GetNumber = Format(Number, 000000000000.00)

I = 0

Do While I  15

If I  12 Then

MyNumber = Mid$(GetNumber, I + 1, 3)

Else

MyNumber = 0 + Mid$(GetNumber, I + 2, 2)

End If

If (Mid$(MyNumber, 1, 3))  0 Then

ReadNumber = Mid$(MyNumber, 1, 1)

My100 = Array1(ReadNumber)

ReadNumber = Mid$(MyNumber, 3, 1)

My1 = Array3(ReadNumber)

ReadNumber = Mid$(MyNumber, 2, 1)

My10 = Array2(ReadNumber)

If Mid$(MyNumber, 2, 2) = 11 Then My11 = إحدى عشرة

If Mid$(MyNumber, 2, 2) = 12 Then My12 = إثنى عشرة

If Mid$(MyNumber, 2, 2) = 10 Then My10 = عشرة

If ((Mid$(MyNumber, 1, 1))  0) And ((Mid$(MyNumber, 2, 2))  0) Then My100 = My100 + MyAnd

If ((Mid$(MyNumber, 3, 1))  0) And ((Mid$(MyNumber, 2, 1))  1) Then My1 = My1 + MyAnd

GetText = My100 + My1 + My10

If ((Mid$(MyNumber, 3, 1)) = 1) And ((Mid$(MyNumber, 2, 1)) = 1) Then

GetText = My100 + My11

If ((Mid$(MyNumber, 1, 1)) = 0) Then GetText = My11

End If

If ((Mid$(MyNumber, 3, 1)) = 2) And ((Mid$(MyNumber, 2, 1)) = 1) Then

GetText = My100 + My12

If ((Mid$(MyNumber, 1, 1)) = 0) Then GetText = My12

End If

If (I = 0) And (GetText  ) Then

If ((Mid$(MyNumber, 1, 3))  10) Then

Billion = GetText +  مليار

Else

Billion = GetText +  مليارات

If ((Mid$(MyNumber, 1, 3)) = 2) Then Billion =  مليار

If ((Mid$(MyNumber, 1, 3)) = 2) Then Billion =  مليارن

End If

End If

If (I = 3) And (GetText  ) Then

If ((Mid$(MyNumber, 1, 3))  10) Then

Million = GetText +  مليون

Else

Million = GetText +  ملايين

If ((Mid$(MyNumber, 1, 3)) = 1) Then Million =  مليون

If ((Mid$(MyNumber, 1, 3)) = 2) Then Million =  مليونان

End If

End If

If (I = 6) And (GetText  ) Then

If ((Mid$(MyNumber, 1, 3))  10) Then

Thousand = GetText +  ألف

Else

Thousand = GetText +  ألاف

If ((Mid$(MyNumber, 3, 1)) = 1) Then Thousand =  ألف

If ((Mid$(MyNumber, 3, 1)) = 2) Then Thousand =  ألفان

End If

End If

If (I = 9) And (GetText  ) Then Hundred = GetText

If (I = 12) And (GetText  ) Then Fraction = GetText

End If

I = I + 3

Loop

If (Billion  ) Then

If (Million  ) Or (Thousand  ) Or (Hundred  ) Then Billion = Billion + MyAnd

End If

If (Million  ) Then

If (Thousand  ) Or (Hundred  ) Then Million = Million + MyAnd

End If

If (Thousand  ) Then

If (Hundred  ) Then Thousand = Thousand + MyAnd

End If

If Fraction   Then

If (Billion  ) Or (Million  ) Or (Thousand  ) Or (Hundred  ) Then

NumberToText = ReMark + Billion + Million + Thousand + Hundred +   + MainCurrency + MyAnd + Fraction +   + SubCurrency

Else

NumberToText = ReMark + Fraction +   + SubCurrency

End If

Else

NumberToText = ReMark + Billion + Million + Thousand + Hundred +   + MainCurrency

End If

End Function

  • وبعد ذلك نقوم بالرجوع إلى ملف الإكسيل المراد كتابة الأرقام بالعربية به، ثم قم بكتابة الأرقام بالشكل الذي يتناسب معك، سواء بكتابتها بالطريقة الحسابية أو باللغة العربية أو التفقيط.

فائدة تحويل الأرقام إلى حروف في الإكسل

قد تساعد عملية تحويل الأرقام إلى عربي في الإكسل إلى العديد من  الفوائد من أهمهما ما يلي:-

  • تتيح كتابة الأرقام بالعربي في إمكانية تفقيط المبلغ وبذلك نتغاضى عن الغش والسرقة.
  • يساعد في إمكانية كتابة المبالغ المادية بأكثر عملة فمثلًا يمكن كتابة العملة سواء بالدينار أو بالريال أو بالجنيه.
  • قد تساعد عملية تحويل الأرقام إلى عربي في الإكسل في سهولة كتابة التاريخ سواء بالتقويم الهجري أم الميلادي.

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

تفاصيل البرنامج

اسم البرنامج
تحويل الأرقام
نظام التشغيل
windows
حجم البرنامج
نسخة البرنامج

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

هذا الموقع يستخدم Akismet للحدّ من التعليقات المزعجة والغير مرغوبة. تعرّف على كيفية معالجة بيانات تعليقك.