asma_net1980

تحويل الارقام الى حروف في الاكسل

76 ردود في هذا الموضوع

السلام عليكم

هل يوجد دالة تقوم بتحويل الارقام الى حروف حيث انني اريد ان ادخل معدل طالب مثلا 98 فيقوم الاكسل تلقائيا بقرائتها ثمانية وتسعون وهكذا

ارجوا ان اكون قد استطعت ان اوضح طلبي

وجزاكم الله خيرا.

2

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

سلام الله عليك

سوف تجدين في هذا الملحق ضالتك

إن شاء الله

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

Only_New.xls

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

الف شكر لك على هذا المثال

ولكنني لا اريد ان تظهر كلمة فقط وهي اساسية في هذه الدالة فكيف استطيع حذفها

ام ان هناك دالة اخرى

حيث انني اريد ان يظهر كالتالي 99 تسعة وتسعون وهكذا

وانا اسفة على ازعاجك

وبارك الله فيك

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

الأرقام للرقم 29 بواسطة الدالة choos

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

هذاه الدالة استعملها في برامجي

وهي ما توصلت إليه.

جربوها واعطوني رايكم وملاحظاتكم

test.zip

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

جزاك الله خيراً

فالدالة جيدة جداً ، ولكن هل تسمح بشرح كود الدالة ليتسنى لنا تعديلها حسب الحاجات

أكرر لك منا جزيل الشكر و الإحترام

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

الله يبارك فيك

الدالة كتبتها من أربع سنوات والحقيقة أنني لم أعد إليها للتعديل.

أحاول أن أشرحها لاحقا.

تحياتي

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

لا أدري وأنا أقرأ كلماتك أحس بالقرب لذلك بوسعي أن أقول لك السلام عليكم ورحمة الله وبركاته

أخي المحترم

شعرت من خلال الدالة أن لديك قدرة حسنة على كتابة الدوال

فإذا تكرمت تشرح لنا إنشاء الدوال بشكل عام وتشرح الدالة السابقة كمثال

وجزاك الله عنا كل خير

أخوكم أبو مصعب

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

وعليكم السلام ورحمة الله تعالى وبركاته

نعم تعودت على كتابة الدوال في إكسل وأعتمد عليه في إنجاز بعض التطبيقات البسيطة.

وكما سبق وأن ذكرت سأرجع إلى أربع سنوات للوراء وأعيد كتابة الدالة بشيء من الشرح.

لكم تحياتي.

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

هذه دالة التفقيط من برمجتي في أكسس

مع مثال على استخدامها بمختلف الحالات

وهي تقبل أرقام إلى 12 خانة و تدعم الأرقام بعد الفاصلة

أرجو أن تفيدكم

تفقيط.rar

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

الأخ محمد العبادي

جزاك الله خيرا

إذا سمحت أتابع الكود خطوة بخطوة ثم لا ألبث أن أتوه فحبذا لو تكرمت بشرح الكود ليتسنى لنا فهمه و تدريسه خصوصاً أنني أعمل في حقل التعليم

و الله لا يضيع أجر من أحسن عملا أخوكم ابن البلد

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

لو سمحتوا انا عايز تفيقط الأرقام إلى حروف في الأكسس مع الشرح

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

أنا عندي التفقيط باللغة الانجليزية كمان لو حد عايزة

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

لوسمحتم

بالنسبة لتحويل الأرقام الى حروف....

انا نزلت الملفات المرفقة ولكن لا تعمل... حيث يظهر الخطأ

#NAME?

يبدو لأنه الدوال غير مضافة... فكيف يمكن اضافتها أو حتى رؤية كودها لأنى لاحظت

ان الشباب قاموا بتتبع الكود فيها

..

شكرا

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
أنا عندي التفقيط باللغة الانجليزية كمان لو حد عايزة

برجاء موافاتى به اذا سمحت

و جزاك الله خيراً

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

الإخوة العزاء

ممكن عمل تحول الأرقام الى حروف بطريقتين:

1- دالة choose والتي تكرم احد الاخوة بالحديث عنها

2- دالة lookup ولها شكلان الأول Dlookup وهي شبيهة بالأكسس مع بعض الاختلاف في نطاق اخذ المتغيرات، والثاني vlooup ويستخدم عند الحاجة لنطاقات كبيرة. المهم:

ممكن عمل قائمة في احد اجزاء ورقة العمل العمود الول منها هو الرقم والثاني هو الترجمة الحرقية مباشرة له وجربتها وبصراحة تعطي نتائج مذهلة اذا استخدمت دالة lookup. فيكون نطاق البحث هو القائمة ونطاق الارجاع هو عمود الحروف

دالة choose لا تاخذ ارقاما اكبر من 9 اي فقط تتعامل مع رقم من خانة واحدة حسب ما جرى معي، وبالتالي يتطلب استخدامها تقسيم الرقم الى احاد وعشرات وترجمة كل منها الى ما يقابله في الحروف. وايضا تعطي نتائج صحيحية

بقي استخدام كلمة "و" بينها وهو من خلال عمل شرط على ان الخلية الفارغة لا تحتسب واذا كانت الخليتان اي الاحاد والعشرات غير فارغتين يترجم كل منها الىة ما يقابله

مثال ذلك ما يستخدم في الجداول المدرسية وهو ما قمت ببناءه من الصفر تقريبا في المدرسة التي اعمل بها

مثال اخر على استخدام lookup هو القاموس المذهل الذي قمت ببرمجته ليعطى اسم الطالب بالغة الانجليزية بمجرد ادخال اسمه بالعربية في الخلية المقابلة، وسأشرحه لاحقا مع مرفق به مثال بسيط

ارجو ان اكون قد افدت وشكرا

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

شكرا و جزاكم الله خير

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

جزاك الله ألف ألف ألف خير يا أخي

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

شكرا على جهودكم العظيمة ونرجوا من الله ان يوفقكم لخير عباده

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

السلام عليكم ورحمة الله وبركاته

تعقيب على الأخ القائل

انا نزلت الملفات المرفقة ولكن لا تعمل... حيث يظهر الخطأ

#NAME?

تأكد من وضع الـ Security أن لا يكون فى أعلى حالاته كخطوه أولى

وإقبل تمكين الماكرو كخطوه ثانية

أما بخصوص الكود فيمكننا وضعه هنا على المكشوف ليمكن للإخوه من التعامل معه سواء فى إكسل أو أكسس أو فيجوال بيزيك أو أى تطبيق يقبل VBA

1- التفقيط العربى

سأرفق مديول لعدم تمكنى من لصق الكود هنا فالكلمات العربية لا تظهر بشكل طبيعى

2- التفقيط بالإنجليزى

Option Explicit
Dim Number2s(2 To 9), Number1s(1 To 19), Steps(1 To 4) As String

Public Function NumToWord(Numstring As Double) As String
If Steps(1) = "" Then initstrings
Dim Tempstring As String
Dim Newstring As String
Dim What As Double
Dim Counter As Long
If Numstring = 0 Then
NumToWord = "zero"
Exit Function
End If
If Numstring > (10 ^ 24) Then
NumToWord = "Number is too big"
Exit Function
End If
Counter = 0
Do
Counter = Counter + 1
If Counter > 1 Then
What = 10 ^ (12 \ ((Counter - 1) * 2))
Else
What = 10 ^ 12
End If
If Numstring >= What Then
Newstring = NumToWord(Fix(Numstring / What))
Numstring = ((Numstring / What) - Fix(Numstring / What)) * What
If Numstring = 0 Then
Tempstring = Tempstring & Newstring & Steps(Counter) & " "
Else
If Counter = 4 Then Tempstring = Tempstring & Newstring & Steps(Counter) _
& " and ": GoTo Skipit
Tempstring = Tempstring & Newstring & Steps(Counter) & ", "
Skipit:
End If
End If
Loop Until Counter = 4
If CInt(Numstring) >= 20 Then _
Tempstring = Tempstring & Number2s(Fix(Numstring / 10)) & " "
If CInt(Numstring) >= 10 And CInt(Numstring) < 20 Then _
Tempstring = Tempstring & Number1s(CInt(Numstring)) & " ": GoTo Skip2
Numstring = ((Numstring / 10) - Fix(Numstring / 10)) * 10
If CInt(Numstring) > 0 Then Tempstring = Tempstring & Number1s(CInt(Numstring)) & " "
Skip2:
NumToWord = Tempstring
End Function

Public Sub initstrings()
Steps(1) = "billion": Steps(2) = "million"
Steps(3) = "thousand": Steps(4) = "hundred"
Number1s(1) = "one": Number1s(2) = "two"
Number1s(3) = "three": Number1s(4) = "four"
Number1s(5) = "five": Number1s(6) = "six"
Number1s(7) = "seven": Number1s(8) = "eight"
Number1s(9) = "nine": Number1s(10) = "ten"
Number1s(11) = "eleven": Number1s(12) = "twelve"
Number1s(13) = "thirteen": Number1s(14) = "fourteen"
Number1s(15) = "fifteen": Number1s(16) = "sixteen"
Number1s(17) = "seventeen": Number1s(18) = "eighteen"
Number1s(19) = "nineteen": Number2s(2) = "twenty"
Number2s(3) = "thirty": Number2s(4) = "forty"
Number2s(5) = "fifty": Number2s(6) = "sixty"
Number2s(7) = "seventy": Number2s(8) = "eighty"
Number2s(9) = "ninety"
End Sub

ArNum2Word.zip

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .