اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

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

قام بنشر

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

ظهر في الاونة الاخيرة تزايد الاستفسار عن الجمل الشرطية وكيفية استخدامها, ولما لها من الاهمية الكبيرة في الاستخدامات المتعددة والمتكررة حتى يكاد لا يخلو يرنامج من استخدام احدى الدوال الشرطية المتعددة ، وبالنسبة الي اجزم انها اهم جمل ودوال ال vba لذلك سابدا بعمل سلسلة لشرح هذه الدوال والجمل وهذا باب مفتوح لكل من يريد المساهمة في انهاء هذه السلسلة

وسنقوم بتداولها بطرق سهلة حتى تتم الفائدة للكل ومهما كان مستوى المشارك .

اما الجمل والدوال التي سنتاولها فهي :

1. جملة اذا المشروطة if ... then

2. جملة الانتقال الشرطية if .. then .. else

3.جملة الانتقال الشرطية if .. then .. else المتعددة والمتشابكة

4.جملة التفرغ المتعددة case

5.دالة التحويل switch

6.دالة الاختيار المرتب choose

الموضوع ليس معقد واسهل مما تتوقعونه وستلاحظون الامكانات الهائلة لهذ الدوال والجمل وتعد من اهم دوال ال vba

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

وسنبدأ اليوم بالموضوع الاسهل " جملة اذا المشروطة if ... then "

واذن الغالبية لديهم الالمام فيه ولكن حتى تتم الفائدة يجب البداية من السهل

وهنا مرفق يشرح القاعدة بطريقة سهلة وبسيطة

واتمتى التوفيق للجميع

أخوكم عماد الحسامي

HOSAMI IF THEN.rar

  • Like 6
قام بنشر

الاخوة الكرام

هشام شلبي

new4a

semsemfox

الجزيرة

hussien2222

ابو فيصل

المهندس طارق

يحيى حسين

لا شكر على واجب فانا والله اتعلم منكم الكثير

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

فنحن منظومة تكاملية وانشاء الله ننهي السلسة

بالفائدة المرجوة منها

وجزاكم الف خير

قام بنشر

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

استكمالا للسلسلة التعليمية للجمل الشرطية وبما ان الموضوع الاول كان بسيط

وعدم وجود استفسارات على آلية الموضوع فأرتأيت طرح الجزء الثاني من الموضوع

وهو شرح جملة الانتقال الشرطية if then else

وهنا مرفق يشرح القاعدة بطريقة سهلة وبسيطة

واتمتى التوفيق للجميع

أخوكم عماد الحسامي

if then else.rar

  • Like 1
قام بنشر

ابداع وكلام جميل بس عندي ثلاث استفسارات

1- اذا حبينا نستخدم اكثر من Else مثلاً

=IF(J9=1,"A",IF(J9=2,"B",IF(J9=3,"F","D")))

2- في اغلب الحالات نطبق ifعلى عامود كامل عن طريق انشاء المعادلة وسحبها فكيف يتم هذا عن طريق المكرو

3-هل استطيع ان ابرمج الكود على انه اذا تحقق الشرط اطبع الملف مثلا او اغلقه او او او

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

طالبك المتحمس جداً

ابوفيصل

قام بنشر

اخي الحبيب هشام

دائما انت السباق في كل شئ وبارك الله فيك وتكون سباق للخير

اخي العزيز الاستاذ عادل

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

اخي الغالي سالم شباني

كل الشكر على هذا الكلام الجميل الطيب

الطالب ابو فيصل

1. بالنسبة لعمليةاكثر من else بالمواضيع القادمة فلا تتعجل الجمل الشرطية في ال vba عصا سحرية لكل الحالات

2.موضوع سحب الدوال ليست من اختصاصات ال vba لكن الاكواد تعطيك تقنيات افضل من السحب وهذا بحد ذاته موضوع مستقل

سيتم التطرق له في المستقبل انشاءالله

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

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

قام بنشر

جزاك الله كل خير يا استاذ عماد

نحن فى اشد الحاجه لهذا الشرح الجميل

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

ولكن لو تكرمت لى استفسار

لو اردنا ان ينقل الكود قيمة الخليه وليست كلمه مثل عماد او a

بمعنى لو الخليه a1 فيها اسم عماد عايزين c1 يطبع فيها قيمة الخليه b1

اقصد قيمه وليست كلمه

فما الكود؟

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

قام بنشر

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

skyblue

جلال

taaiy

ابو محمد

مع حفظ الالقاب

بارك الله فيكم وما كلماتكم الا دعم وتشجيع

بالنسبة لاستفسار الاخ ابو محمد

فهذا مرفق يشرح العملية بشكل اوسع وادق

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

اخوكم عماد الحسامي

if then else(hosami).rar

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

السلام عليكم

ما شاء الله لا قوة إلا بالله

الله أكبر الله أكبر ،،،

أستاذنا عماد ،،، حفظك الله

مجهود غير عادي والله ،،،

وتلخيص لدوال اتخاذ القرار ولا أروع

الله يحفظك ويرعاك ،،،

لقد لفت انتباهي أسلوبك السهل الممتنع في الشرح ،،،

لذا أسمح لي أخي الحبيب بأن أضيف هذه الأمثلة إضافة لما تفضلتم به ،،،

وذلك من باب التنوع وبهدف المشاركة :

IF شرط واحد وأمر واحد :



Sub ZEZO_IF()

If Application.ActiveCell Then

MsgBox "الخلية تحتوي على قيمة"

End If

End Sub

IF أكثر من شرط وأمر واحد : الدالة AND


Sub ZEZO_And()

x = Range("a1").Value

y = Range("b1").Value

If x = 1 And y > 5 Then

MsgBox "x=1 and y>5"

End If
الدالة OR


Sub ZEZO_Or()

x = Range("a1").Value

y = Range("b1").Value

If x = 1 Or y > 5 Then

MsgBox "x=1 or y>5"

End If

End Sub
IF شرط واحد وخيارات متعددة لتنفيذ الأمر :


Sub ZEZO_Else()

If Application.ActiveCell = 5 Then

MsgBox "قيمة الخلية تساوي5"

Else

MsgBox "قيمة الخلية لا تساوي 5"

End If

End Sub

اخي عماد

زادك الله علم ونور

مودتي وتقديري

تم تعديل بواسطه دغيدى
  • Like 1
قام بنشر

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

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

kemas

ابو البراء

ابو اكرم

سعد عابد

nokia_c65

شكرا وبارك الله فيكم وكلماتكم ما هي الا دافع ومحفز لنا

اخي زياد علي

باركم الله فيك وما شاء عليك

فعلا شكرا على الاضافات الاكثر من رائعة ومتميزة

وكم سررت من ذلك وانا كما قلت في السابق هذا باب مفتوح للجميع

وارجوا من الاخوة اضافة اية معلومات قد يرونها مفيدة حتى نخرج

بشئ مفيد وذو قيمة فعلية يستفيد منها الجميع

اخوكم عماد الحسامي

قام بنشر

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

اسعد الله مسائكم بكل خير

اخي الحبيب عماد لدي سؤال ولا اعرف هل هذا مكانه ام لا ولكن فيما يبدو لي انه ينطوي تحت الدوال الشرطية

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

وتقبل تحياتي وفائق تقديري

اخوك المحب

قام بنشر

اخي امان

بل على العكس سؤلك في مكانه

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

اي نفس الحالة التي استعلمت عنها بسؤالك يعني كالسؤال هل الخلية كذا تساوي الخلية كذا

وعند تحقيق الشرط يتم تنفيذ ما وضعته من جمل التنفيذ ....لكن

الجمل الشرطية لا تستعمل بجدول في الكامل اي لا يمكن مقارنة خلية بعدة خلايا إلا اذا

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

وسنستحدث سلسلة لهذه الجمل فور الانتهاء من السلسلة الحالية

اخوك عماد الحسامي

قام بنشر

اخى الفال الاستاذ / عماد

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

ابومحمد

قام بنشر

السلام عليكم

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

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

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

شاكرا سؤالكم عني

اخوكم عماد الحسامي

قام بنشر

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

استكمالاً لسلسلة شرح الجمل الشرطية واتخاذ القرارات

سيتم اليوم تكملة الجزء الثالث من السلسلة المختصة

*** جملة الانتقال الشرطية If ... Then ... ElseIf المتعددة والمتشابكة ***

وسيكون الجزء القادم من السلسلة " شرح جملة التفرغ المتعددة Case "

مرفق ملف يحتوي شرح درس اليوم

if then elseIF....المتعددة والمتشابكة.rar

  • Like 1
قام بنشر

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

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

If Range("c17").Value >= 90 Then

في المثال السابق ودائما ما نرى كلمة Range في الأكواد وقد تكون بصورة دائمة ولكن ماهو الاساس الذي نبني على هذا المدى وفي المثال الاخير كيف ربط المدى بالخلية C17

معتذرا لك عن الاطالة

قام بنشر

اسمحوا لى ايها الاخوه الافاضل بالانضمام اليكم بالفعل هذا مجهود رائع بارك الله فيكم جميع وفى الاستاذ عمادواسمح لى بالسؤال الاتى 1- اذا كان المدى مثلا a1 : d1 مثلا كيف نكتبه

ثانيا نحن فى انتظار الدرس التالى

تقبل منى كل احترام وتقدير

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