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

دورة شرح الفيجول بيسك للتطبيقات VBA


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

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

الجزء العملي من الفصل الرابع (الكائنات objects )

ويبقى جزء بسيط

قريباً إن شاء الله

ولا ينقصني سوى دعاؤكم

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

أشكركم جميعاً إخوتي وأحبتي في الله

وهذا الجزء العملي 2 من الفصل الرابع في الدورة

وفقنا الله وإياكم لكل ما يحب ويرضى

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

السلام عليكم

أتمنى من الإخوة من يريد أن يشكر صاحب مشاركة أو شرح أو توضيح يضغط على زر أعجبني الموجود أسفل يسار المشاركة

ولا يفرد مشاركة جديدة لكلمة شكرا

==

تم تنقيح الموضوع (حذف المشاركات التي لا تتعلق بالشروحات)

الشكر لجميع الاخوة المشاركين والمتفاعلين

ابواحمد

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

  • 2 weeks later...

الأخ عبد الله المجرب حفظه الله من كل مكروه آمين

قمت بتطبيق شرح الجزء الثاني من الفصل الخامس من الدورة

ولكن واجهتني مشكلة غريبة وهي عندما قمت بعمل زر للماكروا الأول تظهر لي هذه الرسالة

يجب أن يشير المرجع إلى ورقة ماكروا

وقد عملت زر للماكروا الثاني وقبل في المرة الأولى وإذا حاولت أعمل زر ثاني تظهر نفس الرسالة

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

'تطبيق شرح الجزء الثاني من الفصل الخامس من الدورة.xlsm'!Module1.ab2

طبعا هذا الاسم( تطبيق شرح الجزء الثاني من الفصل الخامس من الدورة) يمثل اسم المستند

قمت بتعديل اسم الماكروا من ( ab2) إلى ( ab1) الذي يشير إلى اسم الماكروا الأول فقبل الزر

ربما حصل عندي خلل في الأكسل لا أدري أفيدونا جزاكم الله خير

تم تعديل بواسطه الشهابي
رابط هذا التعليق
شارك

السلام عليكم

بسبب اعتذارا الاستاذ ابوعبدالله عن شرح الفصل السادس بسبب الانشغالات اعانه الله وموافقته على ان اقوم بالشرح نيابة عنه

ساقوم باذن الله باخذ مكانه في شرح هذا الجزء وسابداء بإذن الله من اليوم

==

للعلم هذا الجزء يمثل عصب الدورة

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

إخواني الأعزاء وأحبابي

أخي الحبيب الغالي / أبو أحمد - عبدالله المجرب

أسأل الله تعالى أن تكونوا جميعاً بكل خير ، وأؤكد على ما أورده أخي الحبيب أبو أحمد من شديد إعتذاري عن المشاركة على الأقل في هذه الفترة لإنشغالي الأكثر من طبيعي ، وكل الزملاء في مهنة المحاسبة والمالية يعلمون تماماً صعوبة هذه الفترة من السنة والتي يتم فيها أعمال إقفال السنة المالية وإصدار التقارير المالية الختامية ، لذا أكرر أسفي وإعتذاري وأشد على يد أخي الحبيب أبو أحمد الذي سيحل محلي في شرح هذا الجزء من الدورة وأنتهز الفرصة لتوجيه الشكر الجزيل لكل الأخوة والزملاء الأعزاء اللذين شاركو في تقديم هذه الدورة القيمة .

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

أبو عبدالله

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

image154.gif

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

==

من جهتي اوجه كل التقدير والاحترام للاستاذ معتصم محمد على جهده الرائع والشرح الاروع (وانا ادين بالفضل بعد الله لاحد شروحاته لحلقات التكرار لفهم طريقة عملها)

===============

اترككم مع الشروحات

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

أستاذي القدير / عبد الله المجرب

إخواني الأعزاء أعضاء هذا المنتدى الكريم

اعذروني على تطفلي على الموضوع ولست أدري هل أنا مخالف لقواعد الدورة أم لا

ولكنني وجدت في هذا المنتدى مشاركة للأستاذ الكبير عماد الحسامي متعلقة بهذا الجزء من الدورة فأحببت أن أضع رابط الموضوع للفائدة

وعفواً أساتذتي الكرام على مابدر مني من تطفل

الرابط هو :

http://www.officena.net/ib/index.php?showtopic=32470&st=0

الرابط مرة أخرى لا أدري ماذا حصل للمنتدى اليوم كما قال أستاذنا خبور خير تظهر طلاسم

http://www.officena.net/ib/index.php?showtopic=32470&st=0

تم تعديل بواسطه الشهابي
رابط هذا التعليق
شارك

اخي الشهابي

بالعكس الرابط الخاص بموضوع الاستاذ عماد قمة في الروعة وموضوع مميز ومفيد

===

ان شاء الله سأقوم بوضع سوالين لاحقاً ليتم تقييم مدى الاستفادة من الدورة (خصوصاً الفصلين الخامس والسادس)

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

السلام عليكم

امتحان الفصلين الخامس والسادس

السوال الاول:

قم بعمل قائمة منسدلة مرنة (لا يشترط ان يتم تنفيذ الكود في حدث التغيير)؟

(شرح المطلوب)

المطلوب عمله هو ان يتم وضع قائمة منسدلة من 3 عناصر في الخلية A1 وعند اختيار احد هذه العناصر تظهر البيانات الخاصة به (يمكن كتابتها بمصفوفة داخل الكود) في الخلايا B1 - B2 وهكذا

=================

السوال الثاني

قم بعمل 3 إجراءات لثلاثة انواع مختلفة (هي 4 انواع) من الحلقات التكرارية تؤدي نفس الغرض؟

شرح المطلوب

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

=================

السؤال الثالث:

قم بتنفيذ السؤال الثاني عن طريق Select Case

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

أستاذنا الكبير عبد الله المجرب

أولا: اعتذر عن تأخري عن الرد وذلك بسبب إنقطاع النت في مدينتنا بسب قطع في إحد الكبيلات

ولم أتوقع عودته هذا اليوم ولكن بحمد الله عاد

وتوقعت عندما دخلت الموقع أنني سوف أرى ردوداً كثيرة وربما أكون الأخير في الرد

ثانيا: الحمد لله استطعت أن أتوصل للحل ولكن عكيت شوية خاصة في السؤال الأول ولكن كما يقال بالمثل الحضرمي ( كل دقسة بتعلومة )

ثالثا: عندي بعض الاستفسارات

1- هل ممكن أن تعطي الحلقات التكرارية نتائج نصية مختلفة في الخلايا المحددة لتنفيذ الحلقات فيها

2- في السؤال الأول كيف ممكن عمل مصفوفة من نطاق معين حاولت ذلك من خلال الكود الأخير المسمى (abinshehab) ولكن لم استطع

في الختام جزاكم الله خير تعلمنا منكم الكثير وما استفدناه من الدورة الكثير والكثير

الشكر لكل من ساهم في هذه الدورة والعفو منكم

الملف المرفق

حل الأسئلة الثانية من الدورة.rar

تم تعديل بواسطه الشهابي
رابط هذا التعليق
شارك

بصراحة اخي الشهابي احسنت

وحلول رائعة ودليل على الاستفادة

مع العلم اني كنت بداءت افقد الأمل في مشاركة الاخوة بالحلول

====

بخصوص استفساراتك

الاستفسار الاول

هل ممكن أن تعطي الحلقات التكرارية نتائج نصية مختلفة في الخلايا المحددة لتنفيذ الحلقات فيها

نعم ويرجع تطويع الحركة التكرارية الى الحاجة والنتائج المطلوبة (كالترحيل مثلاً)

الاستفسار الثاني

كيف ممكن عمل مصفوفة من نطاق معين

جرب هذا الكود (فان فهمته كان بها والا انا في الخدمة)


Sub Abu_Ahmed()

A = 2

For i = 1 To 8

MyArr = MyArr & Trim(Cells(i, 15)) & " "

MyArr1 = MyArr1 & Trim(Cells(i, 16)) & " "

MyArr2 = MyArr2 & Trim(Cells(i, 17)) & " "

Next

Select Case [A1]

    Case "كان وأخواتها":

	 For Each c In Split(MyArr, " ")

Cells(1, A) = c

A = A + 1

Next

  Case "كاد وأخواتها":

    For Each c In Split(MyArr1, " ")

Cells(1, A) = c

A = A + 1

Next

Case "إن وأخواتها":

    For Each c In Split(MyArr2, " ")

Cells(1, A) = c

A = A + 1

Next

End Select

End Sub

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

السلام عليكم

اخي الشهابي

في كود For Each


Sub foreach()

Dim cb As Range

i = 5

For Each cb In [J5:J7]


cb.Value = [j3]

i = i + 1

Next cb

End Sub

ليس هناك داعي للمتغير i وسيصبح الكود هكذا

Sub foreach()

Dim cb As Range

For Each cb In [J5:J7]

cb.Value = [j3]

Next cb

End Sub

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

أستاذنا الكبير أبو أحمد كود جميل وفائدة جديدة

ممكن أوضح هنا مافهمته من الكود وما لم أفهمه



MyArr = MyArr & Trim(Cells(i, 15)) & " " '

MyArr1 = MyArr1 & Trim(Cells(i, 16)) & " "

MyArr2 = MyArr2 & Trim(Cells(i, 17)) & " "
في هذه الأسطر تم تحويل النطاقات الموجودة في الخلايا المحددة إلى مصفوفات بواسطة الدالةTrim وعلى فكرة اسمها مثل اسم مدينتنا تريم

For Each c In Split(MyArr, " ")

Cells(1, A) = c

A = A + 1

Next
هنا تم تجزئة المصفوفة الأولى في الخلايا المحددة بواسطة الحلقة التكرارية For Each مع مساعدة الدالة Split بس عندي استفسار حول وضع الفراغ , " " فقد قمت بتشغيل الكود من غيرها والنتيجة واحدة وهذه الدالة Split غير موجودة في دوال الأكسل
Case "كان وأخواتها":
هنا ما فائدة النقطتين فوق بعض : وبهذا الكود أعطيتنا جواب حول وضع قيم نصية مختلفة بواسطة الحلقة التكرارية For Each ممكن من غير كلف توضيح للحلقات الأخرى وبالنسبة

Sub foreach()

Dim cb As Range

i = 5

For Each cb In [J5:J7]

cb.Value = [j3]

i = i + 1

Next cb

End Sub

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

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

عفواً : إذا كان هناك خطأ في توضيخ ما فهمته فضلا يتم تصحيحه

المهم أنكم رجال بمعنى الكلمة وجزاكم الله خير

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

  • 2 weeks later...

السلام عليكم

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

اليكم هذا السوال

==

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

1. من 0.01 الى 0.05 يتم التقريب الى 0.05

2. من 0.06 الى 0.09 يتم التقريب الى 0.1

مثالين

1.53 ======== 1.55

1.39 =====1.4

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

أستاذنا الكبير / أبو أحمد

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

بصراحة عملية التقريب بالأكود وبالطريقة التي طلبتها معقدة

ممكن المساعدة لقليل الحيلة في هذا المجال

بمعنى أن تعطينا المعطيات التي يمكن استعمالها

المعروف في الأعداد الصحيحة أن تشير لها في الحلقة التكرارية 1 إلى 9 مثلا

كيف يتم الإشارة للأعداد الكسرية

كما أتمنى من أحد الأعضاء دوي الخبرة أن يعملوا تلك الدالة حتى نستفيد

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

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

زائر
هذا الموضوع مغلق.
×
×
  • اضف...

Important Information