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

استخدام الكود If و Else و Then


الشاعر

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

السلام عليكم

أريد حلاً لهذه المشكلة البسيطة ، التي أبت أن تأتي معي ، وهي :

لقد عملت جدولا في خانتين ، لنفترض أنهما : ( رقم الصندوق ، والرمز البريدي )

وكما تعلمون أن لكل صندوق رمز بريدي :

عملت بعدها نموذجا بالخانتين بعد أن أسميتهما ( رقم الصندوق : BoxN ) و ( الرمز البريدي : RmzN ) .

عملت كود لما أريد وهو :

إذا كان رقم الصندوق من 1 إلى 500 يكون الرمز البريدي = 111

إذا كان رقم الصندوق من 501 إلى 1000 يكون الرمز البريدي = 222

إذا كان رقم الصندوق من 1001إلى 1500يكون الرمز البريدي = 333

وهكذا

ما قمت به هو الكود التالي بعد الخروج من BoxN

If BoxN <= 1 => 500 Then

RmzN = 111

Else If BoxN <= 501 => 1000 Then

RmzN = 222

If BoxN <= 1001 => 1500 Then

RmzN = 333

End If

ولم ينجح ما عملت ، فهل من متطوع لعمل مثال سريع وبسيط بدون أي تنسيق فقط لمعرفة الكود .

أو ليكتب الكود فقط .

تحياتي ( الشاعر )

رابط هذا التعليق
شارك

بسم الله الرحمن الرحيم

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

حضرة الأخ الشاعر :

عليك إغلاق حلقات if التي فتحتها ثلاث مرات وأغلاقتها مرة واحدة ، أي أنك بحاجة لتكرار End If مرتين إضافة للمرة التي كتبتها .

وتأكد من أنك عرفت BoxN و Boxz بشكل صحيح ، فإن لم يكن فأعد النظر بالتعبير عنهما بإضافة الأقواس أو الإشارة إلى خاصية القيمة

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

أخوكم حسن :fff:

رابط هذا التعليق
شارك

بسم الله الرحمن الرحيم

أتفضل هذا مثال يقوم بما تريد بعد التعديل على الكود

If BoxN <= 500 Then

RmzN = 111

Else

If BoxN <= 1000 Then

RmzN = 222

Else

If BoxN <= 1500 Then

RmzN = 333

End If

End If

End If

End Sub

طبعا هنا الكود محصور مثلا لو وضع رقم 1501 فهو ليس معرف لأن الكود حسب ما طلبته محدود وأذا أرته أن يحسب بعد هذه القيمه فسوف يكون هكذا

If BoxN <= 500 Then

RmzN = 111

Else

If BoxN <= 1000 Then

RmzN = 222

Else

RmzN = 333

End If

End If

End Sub

وتقبل تحياتي

أخيك سهل احمد ( أبو نعيم )

aa.rar

رابط هذا التعليق
شارك

السلام عليكم

أشكرك أخي حسن ، كما أشكر أخي أبا نعيم على هذا المثال الجميل ،

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

تحياتي ( الشاعر )

رابط هذا التعليق
شارك

بسم الله الرحمن الرحيم

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

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

و كل عام وأنتم بخير.

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

حسن خليفة

رابط هذا التعليق
شارك

السلام عليكم

اخي الكريم الشاعر هل جربت التعامل مع

Select Case

وبما انها بتأدي نفس الغرض ليش لاء أنصحك فيها ليسهل صيانة وتعديل الشفرة في المستقبل

تحياتي

رابط هذا التعليق
شارك

  • 2 weeks later...

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

تفضل

Public Sub Ap_TestPoBoxNo(IntPoBoxNo As Integer)

    Select Case IntPoBoxNo
      Case 1 To 500
        Debug.Print 111
      Case 501 To 1000
        Debug.Print 222
      Case 1001 To 1500
        Debug.Print 333
    End Select

End Sub
ضع هذا الكود في وحدة نمطية جديدة قم باستدعاء الكود في ال Immediate Window مع تمرير القيمة كالأتي
Ap_TestPoBoxNo (1000)

تحياتي

رابط هذا التعليق
شارك

السلام عليكم

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

ولك تحياتي ( الشاعر )

رابط هذا التعليق
شارك

اهلا وسهلا فيك اخي الكريم

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

بالنسبة Immediate Window تلقيها موجودة في VBA

تروح على قائمة View بعدين تختارها

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

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

تحياتي

رابط هذا التعليق
شارك

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