الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف تقرأ الارقام؟؟؟؟؟

مغلق
بدأه سكون الليل في 3 مايو 2003 · 7 رد · 2,060 مشاهدة · في طلب و دراسة وشرح البرامج
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

سؤال بسيط للفطالحة في اكسل صممت برنامج كامل بس تنقصني شغلة

هل في دالة في الاكسل تقرأ لك الارقام

يعني 1560 تتحول الى الف وخمسمائة وستون

وجزاكم الله خير في اعانتي على الحل اذا كان موجود

#3

شكرا لك اخي العزيز.

لكن الاغلب في اكسس .

ياليت لو في اكسل .

يعني دالة في الاكسل تحول من رقم لنص ويكون النص عربي .

#4

شكرا اخي ابو البراء واخي احلي عالم

لكن انا لا اريد تحويل الارقام الي حروف بل اريد الفرق او حاصل الطرح على ان يكون منطقي حسب المثال 8 ساعات بينما حاصل الطرح 22-6 سيكون 16 وليس 8ارجو ان اكون واضح

#5

:o

انا آسف يا شباب دخلت عليكم بالغلط ارجو قبول اعتذاري:)

#6

العفو اخي الكريم ...

#7

ممكن مساعدة من أهل الخير،

هل أستطيع إستخدام هذا الكود مع الإكسل:-

Option Explicit

Dim fDigit(10) As String

Dim Tenth(9) As String

Dim Ele(9) As String

Dim Result As String

Dim Num1 As Double

'Here first we check the length of the number and according

'to the length we call the procedure.

Private Sub Command1_Click()

Num1 = Text1.Text

Select Case Len(Text1.Text)

Case 7, 6

Call ChkSixSeven(Num1) 'number is above lakhs

Case 5, 4

Call ChkFourFive(Num1) 'Number is above thousand

Case 3

Call ChkThree(Num1) 'above Hundred

Case 2

Call ChkTwo(Num1) 'above 10

Case 1

Call fdig(Num1) 'below 10

End Select

Print Result

End Sub

Private Sub Form_Load()

Result = ""

End Sub

'Lakhs : if the number is above 9,99,999 then call chkTwo.

'otherwise call fdig procedure

Private Sub ChkSixSeven(num As Double)

If (num / 100000) > 9 Then

Call ChkTwo(Int(num / 100000))

Else

Call fdig(Int(num / 100000))

End If

Result = Result & " Lakh"

Call ChkFourFive((num Mod 100000))

End Sub

'Thousand : If the number is above 999

Private Sub ChkFourFive(num As Double)

If num = 0 Then Exit Sub

If num < 100 Then

Result = Result & " and"

Call ChkTwo(num)

Exit Sub

End If

If num < 1000 Then

Result = Result & " and"

Call ChkThree(num)

Exit Sub

End If

If (num / 1000) > 9 Then

Call ChkTwo(Int(num / 1000))

Else

Call fdig(Int(num / 1000))

End If

Result = Result & " Thousand"

Call ChkThree((num Mod 1000))

End Sub

'Hundred : if the number is above 99

Public Sub ChkThree(num As Double)

If num = 0 Then Exit Sub

If num < 100 Then

Result = Result & " and"

Call ChkTwo(num)

Exit Sub

End If

Call fdig(Int(num / 100))

Result = Result & " Hundred"

If Val(Right(num, 2)) <> 0 Then

Result = Result & " and"

If Val(Right(num, 2)) < 10 Then

Call fdig(Val(Right(num, 1)))

Else

Call ChkTwo(Right(num, 2))

End If

End If

End Sub

Public Sub ChkTwo(num As Double)

If num = 0 Then Exit Sub

If num < 10 Then

Call fdig(num)

Exit Sub

End If

If (num Mod 10) = 0 Then

Call Tent(num / 10)

ElseIf num > 10 And num < 20 Then

Call Ele1(num Mod 10)

Else

Call Tent(Int(num / 10))

Call fdig(num Mod 10)

End If

End Sub

Public Sub fdig(num As Double)

fDigit(0) = " Zero"

fDigit(1) = " One"

fDigit(2) = " Two"

fDigit(3) = " Three"

fDigit(4) = " Four"

fDigit(5) = " Five"

fDigit(6) = " Six"

fDigit(7) = " Seven"

fDigit(8) = " Eight"

fDigit(9) = " Nine"

Result = Result & fDigit(num)

End Sub

Public Sub Tent(num As Double)

Tenth(0) = " Ten"

Tenth(1) = " Twenty"

Tenth(2) = " Thirty"

Tenth(3) = " Forty"

Tenth(4) = " Fifty"

Tenth(5) = " Sixty"

Tenth(6) = " Seventy"

Tenth(7) = " Eighty"

Tenth(8) = " Ninety"

Result = Result & Tenth(num - 1)

End Sub

Public Sub Ele1(num As Double)

Ele(0) = " Eleven"

Ele(1) = " Twelve"

Ele(2) = " Thirteen"

Ele(3) = " Forteen"

Ele(4) = " Fifteen"

Ele(5) = " Sixteen"

Ele(6) = " Seventeen"

Ele(7) = " Eighteen"

Ele(8) = " Ninteen"

Result = Result & Ele(num - 1)

End Sub

Private Sub Text1_Change()

Result = ""

End Sub

هذا الموضوع مغلق.

مواضيع مشابهة