اذهب الي المحتوي
أوفيسنا

الردود الموصى بها

قام بنشر

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

 

مساء الخير

لدي خليه مصدرها خارجي انترنت

نتيجتها = التاريخ 2015/12/02

ارغب في معادله في خليه أخرى تكون

نتيجتها = 20151202

 

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

قام بنشر

استخدم الدالة المعرفه التاليه

Public Function f(N)
Dim S As String
S = Split(Replace(N, "/", ""), " ")(1)
f = S
End Function

واستدعيها كالتالي

=f(A1)

 

  • Like 1
قام بنشر
6 دقائق مضت, سليم حاصبيا said:

حتى تنجح المعادلة يجب ان يكون تنسيق الخلية A1 تاريخ و لبس نص

 

نعم تنسيقه تاريخ ولكن يعطيني نفس الخلية بدون تغيير

قام بنشر
في ‏٢١‏/‏٠٢‏/‏١٤٣٧‏ ‎٠٧‎:‎٢٤‎:‎٥٢‎, الـعيدروس said:

استخدم الدالة المعرفه التاليه


Public Function f(N)
Dim S As String
S = Split(Replace(N, "/", ""), " ")(1)
f = S
End Function

واستدعيها كالتالي


=f(A1)

 

ممكن لله يسعدك تشرح لي الكود

للرغبة في الاستفادة منه في أمور أخرى

قام بنشر
36 دقائق مضت, الـعيدروس said:

اتمنى يكون الشرح واضح

 

شرح.jpg

يعني اذا كنت أبغى الناتج 2015/12/03

يكون الكود

Public Function f(N)
Dim S As String
S = Split
f = S
End Function

 

قام بنشر (معدل)

لم تضع الشرط لدالة Split

 

Public Function f(N)
Dim S As String
S = Split
f = S
End Function

هكذا انت تركت الاداة بلا شغل ؟

لم تعطيها اي شيء 

 عشان تعرف عمل الدالة او اي داله اخرى من دوال VBA

تكتب اولاً VBA  ثم دوت اي نقطة . ستظهر لك قائمة بدوال VBA 

انت طبعا بتكتب الدالة Split  ثم تضغط علامة فتح قوس ( 

ستظهر لك معطيات الدالة التي تدرجها كي تعطيك مخرجات بمعنى "كي تقوم بعملها "

           ولاحظ المعطيات التي عليها [] اي هذا ليس اجباري مجرد اختياري ان اردت استخدامه

          اما الذي بدون الـ [] اجباري وان لم تكتبه ستعطيك الدالة رسالة خطأ ؟

Untitled.jpg

الاول "Expression"  القيمة التي تريد الدالة العمل عليها  التي هيا "N"  = الخلية 

الثاني "Delimiter" وهو الشرط الذي تريد الدالة تبحث عنه في السلسلة النصيه الذي هو " " المسافه

الثالث "Limit As Long" اذا اعطيناه 0 سيعطيك الناتج  كلمة "التاريخ" واذا اعطيناه 1 سيعطيك الناتج "215/12/03"

عرفت عمل الشرط الثالث ايه ؟

اما الرابع "Compare" نستخدمه في حالة المقارنة بين سلسلة نصية لم نستخدمه في الذي نريد عمله ونلاحظ ان عليه

[] اي اختياري وليس اجباري

الخلاصه سيكون التعديل كالتالي

S = VBA.Split(N, " ")(1)

لتعطينى الناتج "2015/12/03"

 

 

تم تعديل بواسطه الـعيدروس

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information