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

الحسامي

المشرفين السابقين
  • Posts

    730
  • تاريخ الانضمام

  • تاريخ اخر زياره

  • Days Won

    13

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

  1. السلام عليكم اخي ابو عبدالله مرفق فكرة لعمل ذلك بناءا على ادخال رقم العميل ومن ثم جلب بياناته ادخل ارقام العملاء في خلايا العمود A فقط وانظر النتائج جلب بيانات-الجزيرة.rar
  2. السلام عليكم بارك الله فيك اخي محمد صالح على هذا الشرح وهو من اهم الدورس المتعلقة بال vba واسمح لي بهذه المداخلة البسيطة وليتسع صدرك لي قليللا هناك خطأ شائع يقع فيه اغلب المبرمجين في تعريف المتغيرات بل ان اغلب المراجع المتعلقة بهذا الجانب تقع في نفس الخطأ وهو طريقة تعريف مجموعة متغيرات متشابهة فلو فرضا اردنا تعريف المتغيرات c1 , c2 , c3 من النوع date فسيتم تعريفها كالتالي Dim c1, c2, c3 As Date وهذا بالطبع خطأ ففي الحالة هذه لن يتم إلا تعريف المتغير الاخير (c3) فقط من النوع (date) أما المتغيران (c1 , c2 ) فسيتم تعريفهما من النوع الافتراضي وبالتالي فأن الكود Dim c1, c2, c3 As Date يعادل الكود Dim c3 As Date وليس الكود الذي نريده Dim c1 As Date Dim c2 As Date Dim c3 As Date ويمكننا كتابته ايضا على النحو التالي Dim c1 As Date, c2 As Date, c3 As Date عذرا على هذه المداخلة ولكن اقتضت الفائدة لها والله من وراء القصد
  3. السلام عليكم لدي رأي شخصي في هذا المجال لقد تم وضع خاصية الحماية في برامج الاوفيس حتى تتمكن من حماية ملفاتك الشخصية من العبث بها او سرقتها وبالتالي عند القيام بفك ملفات ليست لك فهو تعدي على حقوق الاخرين والبرامج المنتشرة لفك الحماية جميعها غير شرعية وهي برامج خلافية ومشبوهة وغالبا تستخدم لاغراض غير شرعية واذا كان هناك شخص حسن النية فبالمقابل هناك شخص ليس كذلك لو كان الامر بيدي لحذفت البرنامج من المشاركة
  4. السلام عليكم اعتقد أن لها حلين اثنين وهما الحل الاول ... الجمل 18 ... البقرة 2... الخروف 80 الحل الثاني .. الجمل 9 .... البقرة 51...الخروف 40 طريقة الحل .... الحالة الاولى بناءاً على المعطيات وعلى فرض ان س= عدد الجمال , ص = عدد البقر , ع = عدد الخراف يمكننا استخلاص المعادلتين التاليتين : س + ص + ع = 100 5 س + ص + 0.1 ع = 100 وبما ان لدينا معادلتين بثلاثة مجاهيل وللتخلص من الكسر 0.1 فسنفرض أن ع = 80 (مثلا) إذن : س + ص + 80 = 100 س + ص = 20 ........... 1 5 س + ص + (0.1 * 80) = 100 5 س + ص + 8 = 100 5 س + ص = 92 ........... 2 وبطرح المعادلة رقم 1 من المعادلة رقم 2 ينتج 5 س + ص = 92 س + ص = 20 ـــــــــــــــــــــــــــ 4 س = 72 ======> س= 72 / 4 ======> س = 18 وبالتعويض : س + ص = 20 ======> 18 + ص = 20 ======> ص = 2 وبالتعويض : س + ص + ع = 100 ======> 18 + 2 + ع = 100 ======> ع = 80 ........................................................ طريقة الحل .... الحالة الثانية بناءاً على المعطيات وعلى فرض ان س= عدد الجمال , ص = عدد البقر , ع = عدد الخراف يمكننا استخلاص المعادلتين التاليتين : س + ص + ع = 100 5 س + ص + 0.1 ع = 100 وبما ان لدينا معادلتين بثلاثة مجاهيل وللتخلص من الكسر 0.1 فسنفرض أن ع = 40 (مثلا) إذن : س + ص + 40 = 100 س + ص = 60 ........... 1 5 س + ص + (0.1 * 40 ) = 100 5 س + ص + 4 = 100 5 س + ص = 96 ........... 2 وبطرح المعادلة رقم 1 من المعادلة رقم 2 ينتج 5 س + ص = 96 س + ص = 60 ـــــــــــــــــــــــــــ 4 س = 36 ======> س= 36 / 4 ======> س = 9 وبالتعويض : س + ص = 60 ======> 9 + ص = 60 ======> ص = 51 وبالتعويض : س + ص + ع = 100 ======> 9 + 51+ ع = 100 ======> ع = 40
  5. اخي ابو نصار لا يوجد بيانات في المدى A1:A30 لكنه تم اخذ ارقام الصفوف فقط من 1 الى 30 (0-29) بعد طرح 1 من كل رقم وجعلها اسس للرقم 2 باستخدام الدالة POWER ومن ثم تجميعها
  6. اعتقد أن الحل هو .... 10737418.23 جنيه وهو مجموع الايام الثلاثين وليس اليوم الثلاثين فقط الذي تم ذكره من قبل بعض الاعضاء ويمكننا استخدام معادلات الصفيف التالية لايجاد المطلوب =SUM(POWER(2,ROW(A1:A30:A1:A30)-1))/100 ورياضيا يمكننا التعبير عنها بالتالي اشارة المجموع فوقها العدد 29 وتحتها س= 0, ومن ثم 2 ^ س لم استطيع كتابة الرموز الرياضية في الرد
  7. السلام عليكم اخي الكريم استخدم الكود التالي لتغير خليفية الفلاش والفورم الى الازرق Private Sub UserForm_Initialize() ShockwaveFlash1.BackgroundColor = RGB(220, 90, 0) UserForm1.BackColor = RGB(0, 90, 220) End Sub ولاظهار شاشة الطباعة استخدم الكود التالي Application.Dialogs(xlDialogPrint).Show
  8. السلام عليكم اخي الكريم مرفق ملف لطلبك قد يساعدك ترحيل.rar
  9. السلام عليكم اخي فضل ضع هذا الكود داخل حدث الزر الاصفر CommandButton1 = True
  10. لنفرض : عدد الارانب = س عدد البط = ص عدد الدجاج = ك ..................................... كلها أرانب ماعدا أربعة ... اذن مجموع البط والدجاج يساوي 4 اذن ص + ك = 4 ............ ك = 4 - ص ........... 1 ..................................... كلها بط ماعدا ستة ... اذن مجموع الارانب والدجاج يساوي 6 اذن س + ك = 6 ........... ك = 6 - س ........... 2 ..................................... كلها دجاج ماعدا ثمانية ... اذن مجموع الارانب و البط يساوي 8 اذن س + ص = 8 ........... 3 ..................................... وبمساواة 1 مع 2 ينتج : 6 - س = 4 - ص س - 6 = ص - 4 س = ص - 4 + 6 س = ص + 2 ................. 4 ..................................... وبتعويض 4 في 3 ينتج س + ص = 8 ص + 2 + ص = 8 2 ص = 8 - 2 2 ص = 6 ..... ص = 3 ....... عدد البط وبالتالي : ك = 4 - ص ك = 4 - 3 ..... ك = 1 ....... عدد الدجاج وبالتالي : ك = 6 - س 1 = 6 - س س = 6 - 1 ..... س = 5 ....... عدد الارانب اذن عدد الارانب = 5 عدد البط = 3 عدد الدجاج = 1 مجموع الحيوانات = 9 كلمة السر = abuahmed9
  11. الادوار التي فوقه = س الادوار التي تحته = ص .......................... الحالة الاولى .... اذا نزل 3 ادوار تصبح : الادوار التي فوقه = س + 3 الادوار التي تحته = ص - 3 وبما ان إذا نزل ثلاثة أدوار أصبح مافوقه من أدوار ضعف ماتحته اذن س + 3 = 2 ( ص - 3 ) س + 3 = 2 ص - 6 س = 2 ص - 6 - 3 س = 2 ص - 9 ...............................................1 .......................... الحالة الثانية .... اذا صعد دورين تصبح : الادوار التي فوقه = س - 2 الادوار التي تحته = ص + 2 وبما ان وإذا صعد دورين من شقته أصبح ماتحته ضعف مافوقه من أدوار اذن ص + 2 = 2 ( س - 2 ) ص + 2 = 2 س - 4 ص = 2 س - 4 - 2 ص = 2 س - 6 ...............................................2 .......................... وبالتعويض : س = 2 ( 2 س - 6 )- 9 س = 4 س - 12 - 9 س = 4 س - 21 3 س = 21 ....................و بالقسمة على 3 س = 7 ص = 2 س - 6 ص = (2 * 7)- 6 ص = 14 - 6 ص = 8 الادوار الكلية = 7 + 8 + 1 = 16
  12. السلام عليكم اخي الكريم mhrrd كان يفضل ارفاق ملف لتوضيح المطلوب اكثر على كلاً مرفق ملف معدل حسب ما استطعت فهمه هناك قائمة منسدلة للحالة المطلوبة وعند الضغط يقوم بترحيل البيانات حسب الحالة والى الصفحة الخاصة بها وهناك زر لترحيل البيانات لجميع الحالات بدون تحديدها كذلك وهناك زر لمسح البيانات التي تم ترحيلها اخي هشام ارفق ملف بما تريده او قد يكون الملف السابق يلبي بعض ما تحتاجه او هل هو على نفس المبدأ ولكن بزيادة العدد الى 50 مثلاً ولم افهم بالمقصود بزيادة العدد حسب الطلب كود لنسخ البيانات - الحسامي.rar
  13. السلام عليكم لاثراء الموضوع في المطلوب الاول يمكنك استخدام الكود التالي Sub Abu_Ahmed() Abdulla = MsgBox(" لقد طلبت ترحيل القيمة المحددة الى الموقع المحدد ومسح البيانات السابقة", _ vbYesNo + vbQuestion, "تحذير") If Abdulla = vbYes Then ActiveCell.Offset(0, ActiveCell.Value).Value = ActiveCell.Cells.Offset(0, -1).Value ActiveCell.Cells.Offset(0, -1).ClearContents End Sub او يمكنك استخدام الكود التالي في حدث التغيير Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 4 Then Exit Sub Target.Offset(0, Target.Value).Value = Target.Cells.Offset(0, -1).Value End Sub في المطلوب الثاني يمكنك استخدام الكود التالي في حدث الدبل كليك بعد ادخال البيانات اضغط دبل كليك على اسم الشهر Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Not Intersect(Target, [d4:d27]) Is Nothing Then Dim Sht As Worksheet For Each Sht In Application.Worksheets If Sht.Name = Target.Value Then Sht.Cells(Target.Row, Target.Offset(0, 2).Value + 2) = Target.Offset(0, 1).Value Target.Offset(0, -1).Select Exit Sub End If Next Sht End If End Sub مرفق ملف TEST 5.rar
  14. السلام عليكم اخي الكريم هنا محاولة بطريقتين(كودين) لكن تم استخدام اداة الاختيار بدلا من صندوق الفحص اما الاداة في الصفحة الثانية فهي نفس الاداة المستخدمة في الفورم نطاق الطباعة.rar
  15. السلام عليكم مرفق الملف المعدل عسى ان يكون المطلوب كود لنسخ البيانات - الحسامي.rar
  16. السلام عليكم الاستاذ القدير احمد حمور عمل رائع ومتقن كما عودتنا ودايما نتعلم منك كل جديد نور الله قلبك ودربك للخير وفعله تقبل مروري
  17. السلام عليكم ورحمة الله وبركاته بادئ ذي بدء أتقدم بالشكر لصاحب الشرارة الاولى في إطلاق هذا الموضوع وأتقدم بالشكر لاخي ابو احمد لمتابعته وحرصه على تقديم كا ما هو مفيد للأعضاء .............أما في ما يخص الدورة فلي رأي أود طرحه ........ الموضوع كبير جدا جدا ولكن يمكننا ازالة كافة المعوقات لاتمام هذه الخطوة وسنقوم باذن الله بتجميع مرجع هام وفريد ولن يوجد في جميع المواقع العربية والاجنبية على حد سواء ... نعم فبالرغم من كثرة المراجع الاجنبية والكتب الإلكترونية لهذا الجانب فانها لا تلبي الطموح ولن يتم الاستفادة منها بالقدر المامول فهذه المراجع لم تعالج كافة الأمور وأن غطتها فتغطيتها ناقصة بعض الشئ ومن كان يعتقد أن الاعتماد على هذه المراجع في هذه الدورة لتغطيتها فهو واهم نعم قد تساعد ولكن لن تكون مكملة فبدون تطبيقات عملية حقيقية والتبسيط والتسلسل الصحيح في كافة جوانب الدورة فلن يتم تحقيق ما نريد ... هناك العديد من الدورات منتشرة في الانترنت ولكن اغلبها دورات بسيطة وبعضها تم التوسع بها ولكنها مدفوعة الثمن ومع ذلك فليست كافية ... لا اقصد هنا بث التشاؤم للبعض بل على العكس فنحن امام فرصة قد لا تتحقق مرة أخرى وأن اغتنمناها جيدا فسنكون بإذن الله الأوائل في تقديم هذه الدورة وبكل صدق سنكون الاوائل على المستوى العالمي ......... مواضيع VBA كثيرة جدا ومعقدة بعض الشئ لذلك لا يوجد مرجع حقيقي لهذا الجانب ومن يستطيع الألمام ب 75% من امورها فسيكون من ضمن المحترفين وان هناك بعض الاكواد موجودة فعلا ولكن لهذه اللحظة لم يتم إستخدامها لغياب الحاجة لها ولن يتم معرفتها إلا عند استخدامها ... والألمام بكافة علوم الVBA قد لا تساعد كثيرا اذا لم يتحلى الشخص بكيفية استخدامها فهناك بعض الاعضاء تجاوزوا نظرائهم في هذا المنتدى بالرغم من حداثة انتماؤهم لهذا المنتدى وهم كثر ما اريد قوله ان استتطعنا تحصيل ال 50% من ال VBA فذلك انجاز ويبقى الباقي على العضو نفسه في اصراره واجنهاده وكيفية استغلال هذا العلم على احسن وجه وهنا نصيحة للاعضاء بالاكثار من المشاركات ولو كانت خاطئة فإن أخطأت مرة فلن تخطئ في المرة القادمة فجميعنا أخطأنا وإذ كنا نكتب اليوم كودا من سطر واحد فقط فكنا نكتبه في السابق بعشرة أسطر ... والفكرة العامة لهذه المقدمة الطويلة أنه بالرغم من صعوبة الموضوع فبالاستعانة بالله وكثرة المشاركات وكثرة الممارسة وكثرة الأخطاء وعدم الحرج في السؤال واستغلال المادة العلمية على أحسن وجه فسأضمن للجميع الوصول لمستوى عالي جدا في ال VBA . أما في موضوع الدورة فأقترح ما يلي : 1. أن تكون الدورة ذات منهجية واضحة ومفهرسة وأن تكون ذات تسلسل منطقي فهناك بعض الجوانب اذا لم يتم شرح جانب سابق لها فلن تصل الفكرة 2. أن يتم اعتماد منهج واسلوب للدورة واقترح ان يتم تثبيت موضوع شامل مغلق واحد للدورة وان يتم طرح مواضيع فرعية للفصول المراد شرحها وبعد انتهاء الموضوع الفرعي يتم اعتماد ملخص شامل لهذا الفصل وترحيله للموضوع الأصلي المغلق لتتم فهرسته مستقبلا . 3. أن تكون آلية الشرح على نمطين شرح نظري في ملف WORD أو PDF وجانب عملي في شقين .. ملف تطبيقي EXCEL للشرح في ملف وملف للشرخ بالفيديو والشرح بالفيديو افضل طريقة لايصال المعلومة . 4. أن لا يتم التوسع في هذه الدورة بشكل واسع جدا وذلك منعا للتشتت وحتى يتمكن العضو من التركيز فقط على الامور الشائعة والاكثر استخداما وبعض مدة يمكنه اكتسابها بالخبرة والممارسة او يمكننا عمل دورة متقدمة لذلك فعلى سبيل المثال هناك خمسة أو ستة جمل شرطية واكثرها شيوعا واستخداما هي جملة IF فهنا اقترح شرح هذه الجملة فقط وفي المستقبل يتم شرح الباقي وغيرها من الامور المشابهة . 5. يجب أن لا تأخذنا الحماسة الزائدة في الدورة في الملل وعدم اكمالها واقترح هنا تأجيلها بعض الوقت لايجاد وتجهيز المادة فعليا قبل طرحها ولا اقصد هنا تجهيز الدورة بالكامل بل تجهيز فصول مستقبلية قبل طرخ المواضيع الآنية وهذا مجرد اقتراح فقط 6. يجب على الجميع المشاركة - في التلقين- بلا استثناء بعيداً عن المستوى العلمى ورتبته في المنتدى فقد تكون هناك بعض الحالات لا يتم رويتها من قبل واضع الشرح وهنا لا يهم عدد الشروحات او الملفات في الموضوع الفرعي ويجب التركيز على عدم الحرج في حذف اي ملف او مشاركة قد تخل بالموضوع الرئيسي 7. اقترح ان يتم الشرح على نسخة 2007 وأضمن في نهاية الدورة على ايجاد كتاب عربي كامل بالشرح النظري والتطبيق العملي وسنفاخر به العالم ان شاء الله . وفي الختام سلام من الله
  18. السلام عليكم عوداً حميداً اخي عادل حنفي واراح الله بالك ويسر أمورك
  19. اخي سعد واخي ابو نصار بارك الله فيكم وحفظكم الله .................................................... اخي سعد بصراحة لم افهم الفكرة ولم يصلني ما تريده بالفعل الفكرة التي طلبتها غير متاحة حالياً ....يرجى المحاولة مرة أخرى .... الرد الآلي
  20. السلام عليكم هنا طريقة لاخفاء واظهار صفوف بزرين وباستخدام حماية الصفحة بالاكواد ارجو ان تساعد hide hosami.rar
  21. السلام عليكم ملف تستحق عليه التقدير والاحترام وظاهر الجهد المميز في اتقان هذا العمل وروعته بارك الله فيك وزادك الله من العلم
  22. السلام عليكم لي رأي لو تسمحوا بإبدائه أنا من الاناس الذين يستخدمون اختصارات المفاتيح في الاكسل بكثرة ولا أستخدم الفأرة إلا ما ندر , وأغلب ملفاتي الشخصية في الأكسل أستخدم فيها تعيين المفاتيح ولآ أقوم بتعيين الاكواد في الأزرار إلا إذا كنت مضطراً لذلك والأمر ليس معقد كما يتصوره البعض , ولا يهم أن يكون المفتاح من المفاتيح المحجوزة أو من المفاتيح الخالية فالأساس واحد , نعم عند تعيين مفتاح معين وربطه بماكرو فأنه يقوم بتنفيذ الكود في جميع الملفات عند إستخدام المفتاح لأننا لم نقم بأرجاعه إلى وظيفته الرئيسية ولم نقم بحصره في الملف المراد إستخدام المفتاح فيه .... أما كيفية أستخدام تعيين المفتاح بطريقة صحيحة فيجب اتباع مبدأ تعيين المفتاح عند تنشيط الملف ومن ثم أعادة الوظيفة الرئيسية للمفتاح عند الخروج من الملف " أي عدم التنشيط " ..... ولو عدنا الى مثال الحبيب ابو عبدالله لوجدنا انه قام بتعيين المفتاح "F1" عند تنشيط الملف وهذا صحيح وأستخدم الكود التالي Private Sub Workbook_Activate() Application.OnKey "{F1}", "PRINT_ME" End Sub ثم يجب علينا إلغاء التعيين أو أرجاع الوظيفة الرئيسية للمفتاح وذلك عند عدم تنشيط الملف ولهذا يجب علينا استخدام الكود التالي لذلك Private Sub Workbook_Deactivate() Application.OnKey "{F1}" End Sub وبهذا فلن نواجه أي مشكلة تذكر عند إستخدام هذه المفاتيح لتعيين الأكواد ويمكن تعيين أي مفتاح على لوحة المفاتيح وبطرق مختلفة
  23. السلام عليكم اخي الحبيب ابو احمد وبدون مجاملة اقف لك احتراماً على هذا الكود وعلى طريق الصياغة ومنطقيته لكن لي ملاحظة صغيرة جدا عليه ولا تؤثر على الكود لماذا استخدمت ال"Counter-t" طالما لديك عداد يلبي الحاجة التي استخدمته لاجلها "i" ويمكنك استخدام العداد على هذا النحو Dim i As Integer, LR As Integer LR = Range("A" & Rows.Count).End(xlUp).Row For i = 1 To 5 Cells(LR + 1, i).Value = Cells(i * 2 + 15, "G").Value Next i
  24. جاءنا العميد بهدايا العيـد بأمـر جديـد وكان مفيــد وجعلني به سعيد وتستحق عليه احلى قصيد
×
×
  • اضف...

Important Information