المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : داله تحويل الرقام الى حرف في اكسيل



ابو بسمة
22-11-2005, 01:30 PM
Public Function Horof(X)
Ma = " درجة"
Mi = " من الدرجة"
N = Int(X)
B = Val(Right(Format(X, "000000000000.00"), 2))
R = SHorof(N)
If R <> "" And B > 0 Then Result = R & Ma & " و " & B & Mi
If R <> "" And B = 0 Then Result = R & Ma
If R = "" And B <> 0 Then Result = B & Mi
Horof = Result

End Function

Private Function SHorof(X)

N = Int(X)
C = Format(N, "000000000000")
C1 = Val(Mid(C, 12, 1))
Select Case C1
Case Is = 1: Letter1 = "واحد"
Case Is = 2: Letter1 = "اثنان"
Case Is = 3: Letter1 = "ثلاثة"
Case Is = 4: Letter1 = "اربعة"
Case Is = 5: Letter1 = "خمسة"
Case Is = 6: Letter1 = "ستة"
Case Is = 7: Letter1 = "سبعة"
Case Is = 8: Letter1 = "ثمانية"
Case Is = 9: Letter1 = "تسعة"
End Select

C2 = Val(Mid(C, 11, 1))
Select Case C2
Case Is = 1: Letter2 = "عشر"
Case Is = 2: Letter2 = "عشرون"
Case Is = 3: Letter2 = "ثلاثون"
Case Is = 4: Letter2 = "اربعون"
Case Is = 5: Letter2 = "خمسون"
Case Is = 6: Letter2 = "ستون"
Case Is = 7: Letter2 = "سبعون"
Case Is = 8: Letter2 = "ثمانون"
Case Is = 9: Letter2 = "تسعون"
End Select

If Letter1 <> "" And C2 > 1 Then Letter2 = Letter1 + " و" + Letter2
If Letter2 = "" Then Letter2 = Letter1
If C1 = 0 And C2 = 1 Then Letter2 = Letter2 + "ة"
If C1 = 1 And C2 = 1 Then Letter2 = "احدى عشر"
If C1 = 2 And C2 = 1 Then Letter2 = "اثنى عشر"
If C1 > 2 And C2 = 1 Then Letter2 = Letter1 + " " + Letter2
C3 = Val(Mid(C, 10, 1))
Select Case C3
Case Is = 1: Letter3 = "مائة"
Case Is = 2: Letter3 = "مئتان"
Case Is > 2: Letter3 = Left(SHorof(C3), Len(SHorof(C3)) - 1) + "مائة"
End Select
If Letter3 <> "" And Letter2 <> "" Then Letter3 = Letter3 + " و" + Letter2
If Letter3 = "" Then Letter3 = Letter2

C4 = Val(Mid(C, 7, 3))
Select Case C4
Case Is = 1: Letter4 = "الف"
Case Is = 2: Letter4 = "الفان"
Case 3 To 10: Letter4 = SHorof(C4) + " آلاف"
Case Is > 10: Letter4 = SHorof(C4) + " الف"
End Select
If Letter4 <> "" And Letter3 <> "" Then Letter4 = Letter4 + " و" + Letter3
If Letter4 = "" Then Letter4 = Letter3
C5 = Val(Mid(C, 4, 3))
Select Case C5
Case Is = 1: Letter5 = "مليون"
Case Is = 2: Letter5 = "مليونان"
Case 3 To 10: Letter5 = SHorof(C5) + " ملايين"
Case Is > 10: Letter5 = SHorof(C5) + " مليون"
End Select
If Letter5 <> "" And Letter4 <> "" Then Letter5 = Letter5 + " و" + Letter4
If Letter5 = "" Then Letter5 = Letter4

C6 = Val(Mid(C, 1, 3))
Select Case C6
Case Is = 1: Letter6 = "مليار"
Case Is = 2: Letter6 = "ملياران"
Case Is > 2: Letter6 = SHorof(C6) + " مليار"
End Select
If Letter6 <> "" And Letter5 <> "" Then Letter6 = Letter6 + " و" + Letter5
If Letter6 = "" Then Letter6 = Letter5
SHorof = Letter6

End Function

must1418
28-11-2005, 06:30 PM
الأستاذ الفاضل / ابو بسمه
أرجو ان ترسل لي على بريدي الإلكتروني طريقة الاستفادة من تحويل الأرقام لحروف على الاكسل بحيث أكتب الرقم في خلية معينة ويظهر هذا الرقم في خلية اخرى بالحروف
حاجتي لذك ماسة جداً أرجو مساعدتي
مع الشكر الجزيل
أخوك مصطفى
البريد الإلكتوني
[email protected]

عزوز
28-11-2005, 06:37 PM
تسلم على موضوعك المميز

ملكة
29-11-2005, 10:16 PM
شكراااااااااااااااااااااا اا ويعطيك الف عافية

تحياتي

الفـيـصـل
30-11-2005, 04:05 PM
الله يعطيك الف عافية

ويجزاك خير الجزاء

بـــشـــرى
09-12-2005, 08:03 PM
الله يعطيك العافيه

أختك.. عاشقة العقيدة

ابو بسمة
10-12-2005, 08:07 AM
اخي مصطفى لقد تم ارسال طريقة العمل اليك فهل لك سؤال على ذلك ؟

امجاد نجد
14-12-2005, 01:11 PM
بسم الله الرحمن الرحيم

الله يسلمك ويعافيك اخي ابو بسمة

مشكور على هذا الموضوع المفيد