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

نجوم المشاركات

  1. ibn_egypt

    ibn_egypt

    الخبراء


    • نقاط

      5

    • Posts

      764


  2. لؤي الخزرجي

    لؤي الخزرجي

    02 الأعضاء


    • نقاط

      2

    • Posts

      96


  3. أ / محمد صالح

    أ / محمد صالح

    أوفيسنا


    • نقاط

      2

    • Posts

      4474


  4. محمد يحياوي

    محمد يحياوي

    الخبراء


    • نقاط

      2

    • Posts

      1429


Popular Content

Showing content with the highest reputation on 01/29/15 in all areas

  1. اخى الفاضل طالما ان البرنامج يروق لك وسيسهل عملك ... فاتصل على هاتف صاحب البرنامج الموجود بالفيديو واطلب منه شراء نسخة من البرنامج تحياتي
    2 points
  2. بسم الله والصلاة والسلام على رسول الله اللهم علمنا ما ينفعنا ،،، وانفعنا بما علمتنا ،،، ووفقنا للعلم النافع ،، ولما تحبه وترضاه عنا ،،، وبعد ،،،، فالسلام عليكم أخواني الأعزاء ،،، والله يعلم أنني مشتاق لكم ،،،، فعلى بركة الله نفتتح بهذه المشاركة المتواضعة والمباركة بحول الله وقوته الا وهي : معالم على طريق البرمجة بلغة VBA الفكرة : - سنقوم بتدوين بعض الأكواد البسيطة التي تنير لنا جميعاً الطريق للبرمجة بلغة الـ VBA : ============================================================== و أتمنى من الجميع أن يشاركوني هذا العمل حتى تكتمل الفائدة للجميع ============================================================== بسم الله نبدأ : اكواد تخص كائن التطبيق : كود: Sub zezo() Application.Caption = "ziad ali" End Sub يقوم الكود بتوظيف الخاصية Caption على كائن التطبيق أي أن هذه الخاصية تقوم بتغيير الاسم العام للبرنامج فبدلا من كلمة مايكرسوفت سيظهر ziad ali ... كود: Sub zezo2() Application.DisplayFormulaBar = False End Sub تقوم هذه الخاصية DisplayFormulaBar بإخفاء شريط الصيغ عند استخدام False ،، وبالمقابل إظهاره عند استخدام …TRUE كود: Sub zezo3() Application.DisplayFullScreen = True End Sub تقوم هذه الخاصية DisplayFullScreen بجعل التطبيق في وضع ملء الشاشة وللرجوع طبعاً يجب ان نجعل القيمة False .. كود: Sub zezo4() Application.DisplayRecentFiles = False End Sub تقوم هذه الخاصية DisplayRecentFiles بعدم عرض المستندات الأخيرة في كائن تطبيق اكسيل وإذا أردنا إستعراضها طبعاً نجعلها تاخد القيمة TRUE .كالتالي : كود: Sub zezo5() Application.DisplayRecentFiles = True End Sub تقوم هذه الخاصية WindowState بتحديد حالة كائن التطبيق من حيث التكبير والتصغير والوضع الطبيعي كود: Sub zezo6() Application.WindowState = xlMaximized End Sub كود: Sub zezo7() Application.WindowState = xlMinimized End Sub كود: Sub zezo8() Application.WindowState = xlNormal End Sub ================================================================================================= اكواد تخص كائن ورقة العمل: كود: Sub zezo9() Worksheets("sheet1").Visible = False End Sub يقوم الكود بإخفاء ورقة العمل المسماه sheet1 كود: Sub ZEZO10() Worksheets("sheet1").Visible = True End Sub يقوم الكود بإظهار ورقة العمل المسماه sheet1 كود: Sub zezo11() Worksheets(1).Name = "sheet1" End Sub يقوم الكود بإعادة تسمية الورقة 1 في ترتيب اكسيل بـ sheet1 كود: Sub zezo12() Worksheets("sheet1").Delete End Sub يقوم الكود بحذف الورقة المسماه sheet1 كود: Sub zezo13() Worksheets(1).Activate End Sub يقوم الكود بتنشيط الورقة المسماه sheet1 كود: Sub zezo14() Worksheets.Add End Sub يقوم الكود بإضافة ورقة جديدة كود: Sub zezo15() Worksheets(3).Copy End Sub يقوم الكود بنسخ الورقة الثالثة ضمن ترتيب ورقات المصنف ... =============================================================================================== والأن مع الأكواد الشائعة للإشارة لهذا الكائن المسمى RANGE : الكائن من نوع النطاق أو ما يسمى بالمدى أو المجال وهو الأكثر شيوعاً ، أي أن أغلب الأكواد تشير بكثرة لهذا النوع من الكائنات ،،،: كود: Sub zezo16() Range("d2:i10").Select End Sub يقوم الكود بتحديد المجال المشار إليه بين القوسين كود: Sub zezo17() Range("d2:i10").Columns(2).Select End Sub يقوم الكود بتحديد العمود الثاني بالمجال المشار إليه بين قوسين كود: Sub zezo18() Range("b10:f15").Columns(2).Value = 0 End Sub يقوم الكود بكتابة قيمة صفر في العمود الثاني من المجال المحدد بين القوسين كود: Sub zezo19() Range("c5:c10").Rows(1).Value = 100 End Sub يقوم الكود بكتابة قيمة 100 في الصف الأول من المجال المحدد بين القوسين وهو هنا الخلية C5 كود: Sub zezo20() Range("d2:i10").Cells(2, 3).Select End Sub يقوم الكود بتحديد الخلية الواقعة في الصف الثاني من العمود الثالث داخل المجال المحدد بين القوسين وهي هنا الخلية F3 كود: Sub zezo21() Range("f10:i15").Cells(3, 2).Value = 200 End Sub يقوم الكود بكتابة قيمة 200 بالخلية الواقعة في الصف الثالث من العمود الثاني داخل المجال المحدد بين القوسين وهي هنا الخلية G12 كود: Sub zezo22() Worksheets(3).Range("f1:h5").Value = 100 End Sub يقوم الكود بكتابة قيمة 100 في المجال المحدد من الورقة الثالثة من أوراق المصنف كود: Sub zezo23() Range("d2:i10").Clear End Sub يقوم الكود بمسح محتويات المجال المشار إليه بين قوسين والله من وراء القصد ============================ يتبع بإذن الله=======================
    1 point
  3. لقد حللت المشكلة وهي كالاتي نعمل كليك يمين على الفورم المراد نسخه ونختار من القائمة المنسدلة كلمة export file ثم تحفظ الفورم ع سطح المكتب مثلا ثم تفتح المصنف او الملف الاكسيل المراد النسخ عليه الفورم وبنفس الطريقة الاولى ولكن نختار هنا كلمة import file وهكذا تنسخ الفورم بجميع محتوياتها بدون ان تعيد تنسيقها من الصفر
    1 point
  4. أخي الفاضل أ. ايمن لا شكر على واجب أخي الكريم، والحمد لله أن وجدت مبتغاك ... أما بخصوص الشرح فأنا لا اجيده ولكن الكود بسيط بدأ بتعريف المتغيرات حيث SWS شيت مصدر البيانات وهو AYMAN شيت DWS شيت دور ثان معرفة اخر صف في شيت المصدر SLR ثم مسح محتويات البيانات الموجودة في النطاق A5:D1000 بشيت دور ثان لتجهيزها لاستقبال اى بيانات جديدة ثم حلقة تكرارية من الصف الثالث الى اخر صف بشيت المصدر AYMAN اذا وجد في الصف الذي نحن فيه بالعمود 27 كلمة دور ثان ينقل الاسم بالعمود الثالث والجلوس بالعمود الرابع والنتيجة بالعمود 26 الى شيت دور ثان بعد الانتهاء حلقة تكرارية اخرى لعمل تسلسل الارقام في العمود A بشيت دور ثان أرجو أن اكون وفقت في ذلك ولو استصعب عليك شيء فأسأل أخي الكريم تحياتي
    1 point
  5. اخى الفاضل تفضل الملف المرفق لربما به طلبك ... اضغط زر احضار البيانات في شيت دور ثان تحياتي ayman.rar
    1 point
  6. 1 point
  7. ما زلت مش فاهم ايه الرابط بين الملفين وايه الكود المطلوب تطويعه للملف الثاني ؟؟؟
    1 point
  8. انا اشكرك اخي الصقر انا اسمي لؤي .....واعذرني لاني اضغط عليك بكمال الملف لكن شغلي متوقف على هذا البرنامج ولكن لايهمك خذ الوقت الكافي وتقبل تحياتي اخوك لؤي
    1 point
  9. اخي الصقر الغالي والله انك مبدع التقرير ممتاز لكن ينقصه اضافه جنب الصنف البحث عن طريق كود الصنف تكون عمليه البحث اسم الصف او عن طريق كود الصنف والباقي رائع جداااااااا تحياتي
    1 point
  10. اخى الفاضل تفضل الملف المرفق لربما به طلبك تحياتي بحث أي كلمه في الاسم.rar
    1 point
  11. جهد تشكر عليه اخي العزيز ولم امكن اضافة امكانية تتبع التغييرات في جداول البيانات ان امكن
    1 point
  12. أكرمك الله أخي الكريم الصقر وبارك فيك
    1 point
  13. النسخة التي حملتها هي لاوفيس 2003 و هذا البرنامج له حد اقصى (65536 صف)و 255 عامود بينما نسخة 2010 (1048576 صف و 16384 عامود) لذا لا مجال لتوسيع النطاق الا اذا استبدلت نسخة الوندوز
    1 point
  14. حل أخر بطريقة أخرى يتم وضع هذه المعادلة فى الخلية "B3 " وسحبها لأسفل بالقدر المطلوب =IF(A3="","",VLOOKUP(A3,$E$3:$G$22,3,TRUE)) وإذا أردت حذف الجدول الموجود فى الأعمدة " E-F-G " أى بدون أيه شروط سوى عمود البحث " A " فقط أستخدم الصيغة بالشكل التالى: =IF(A3="","",VLOOKUP(A3,{0,100,30;101,200,40;201,300,50;301,400,60;401,500,70;501,600,80;601,700,90;701,800,100;801,900,110;901,1000,120;1001,1100,130;1101,1200,140;1201,1300,150;1301,1400,160;1401,1500,170;1501,1600,180;1601,1700,190;1701,1800,200;1801,1900,210;1901,2000,220},3,TRUE)) تقبلوا تحياتى
    1 point
  15. تـفضل اخي المعادلة التالية شرح المعادلة لو كانت قيمة الخلية A3 أكبر من الرقم 200 أترك الخلية فارغة لو كانت قيمة الخلية A3 أصغر او تساوي من الرقم 100 اكتب 30 لو كانت قيمة الخلية A3 أصغر او تساوي من الرقم 200 اكتب 40 =IF(A3>200;"";IF(A3<=100;"30";IF(A3<=200;"40")))
    1 point
  16. ا / ياسر متابعك متقلقش فى كل موضوع هتلاقينى وراك يا فى جنبك يا قدامك فى انتظار المزيد
    1 point
  17. الدرس الثامن جملة Do While Loop تُستخدم العبارة Do Loop لتنفيذ العبارات ضمنها، مادام الشرط المحدد محققاً. مثال تعد حلقة Do.Loop التالية من 1 وحتى 1000 : Dim Counter Counter=1 Do While Counter < 1001 Counter = Counter + 1 Loop ملاحظات : 1 - يتم تجهيز المتغير Counter بإسناد القيمة الابتدائية 1 اليه ، ثم تبدأ بعدها حلقة DoWhile.Loop 2 - يتحقق السطر الأول من أن قيمة Counter أصغر من ١٠٠١ فإذا كان الأمر كذلك، تنفذ العبارات الواقعة بين السطر DoWhile والسطر Loop وفي مثالنا هذا ، توجد عبارة واحدة بين هذين السطرين Counter = Counter +1 والتي تزيد قيمة العداد Counter بمقدار 1 3 - يعود البرنامج بعد ذلك إلى السطر Do While ويتحقق من قيمة العداد Counter والتي تساوى الى الآن 2 4 - لهذا فسوف يعاد تنفيذ العبارة الواقعة بين السطر Do While والسطر Loop وتستمر المعالجة حتى تصبح قيمة Counter مساوية إلى 1001 وعندها يختل الشرط ويستأنف تنفيذ البرنامج بدءا من العبارة التي تلي السطر Loop جملة Do-Loop-While العبارات ضمن الحلقة Do While.Loop في الفقرة السابقة قد تنفذ أو لا تنفذ ، تبعاً لتحقيق الشرط. فمثلاً العبارات في حلقة DoWhile.Loop التالية لن تنفذ أبداً Dim Counter Counter = 2000 Do While Counter < 1001 Counter = Counter + 1 Loop فعندما يتحقق البرنامج من السطر DoWhile فإنه سيكتشف أن Counter تساوى 2000 ولهذا فلن تنفذ العبارة الواقعة بين السطر DoWhile والسطر Loop يتطلب البرنامج أحياناً الدخول ضمن الحلقة لمرة واحدة على الأقل دون تحقيق أي شرط لذلك تُستخدم الحلقة Do.Loop While مثل هذه الحاله Dim Counter Counter = 2000 Do Counter = Counter + 1 Loop While Counter < 1001 ينفذ البرنامج العبارات الواقعة بين السطر Do والسطر Loop While مهما تكن الأحوال وبعد ذلك يحدد البرنامج إذا كان الشرط محققاً (أي Counter أصغر من 1001 ) يعيد البرنامج تكرار تنفيذ الحلقة إذا تحقق الشرط وبالتالي يعيد تنفيذ العبارات الواقعة بين السطر Do والسطر Loop While أما إذا اختل الشرط (أي Counter ليست أصغر من 1001 ) فعندها يستأنف التنفيذ من العبارة التي تأتي مباشرة بعد السطر Loop While وفى المثال التالى تعد جملة Do.Loop While من 50 الى 200 Dim Counter Counter = 50 Do Counter = Counter + 1 Loop While Counter < 201 العبارة Exit DO تنتهي الحلقة DoWhile.Loop باستخدام Exit DO مثال : Dim I I = 1 Do While I < 10001 (txtResult.Text = Str(I I = I + 2 If I > 500 Then Exit Do End If Loop تعد الحلقة السابقة بدءاً من الواحد وبزيادة قدرها 2 وينتهى تنفيذ الحلقة عندما تصبح قيمة I أكبر من 500 الحلقة اللامنتهية قد تقع أحياناً في خطأ يشبه ذلك المبين في الحلقة التالية : Dim I I = 1 Do While I < 10001 (txtResult.Text = Str(I If I > 500 Then Exit Do End If Loop نلاحظ أننا نسينا كتابة العبارة التالية: I = I + 2 تبقى قيمة Counter ثابتة في الحلقة Do While.Loop السابقة (I = 1 ) وهذا بسبب نسيان زيادة قيمته. يبقى البرنامج في هذه الحالة ضمن الحلقة إلى اللانهاية لأن قيمة I دوماً أصغر من 1001 ولكن تكون أبداً أكبر من 500 بل في الواقع تساوي 1 على الدوام الحلقة For Next التكرارية تعتبر جملة For Next وسيلة أخرى لصنع الحلقات التكرارية مثال تعد الحلقة التالية من 1 الى 100 Dim7 I For I = 1 to 100 Step 1 (txtMyTextArea.Text = Str(I Next أما للتعداد من 1 وحتى 100 وبخطوة زيادة في كل مرة قدرها 2 فتستطيع استخدام الحلقة For Next التالية : Dim I For I = 1 to 100 Step 2 (txtMyTextArea.Text = Str(I Next تعد هذه الحلقة بالشكل التالي 1 ، 3 ، 5 ، .... 99 تساوي قيمة Step في الحالة الافتراضية أي عند تجاهل كتابتها الى 1 وبالتالي فالحلقتين التاليين متشابهان الحلقة الأولى Dim I For I = 1 to 100 Step 1 (txtMyTextArea.Text = Str(I Next الحلقة الثانية Dim I For I = 1 to 100 (txtMyTextArea.Text = Str(I Next العبارة Exit For تستطيع الخروج من الحلقة For.Next باستخدام عبارة Exit For مثال Dim I For I = 1 to 1000 (txtResult.Text = Str(I If I = 500 Then Exit For End If Next يعد جزء البرنامج هذا بدءاً من الواحد وبزيادة قدرها 1 للمتغير Z مع كل تكرار للحلقة يتحقق شرط عبارة If الداخلية عندما تصبح قيمة I مساوية إلى 500 ونتيجة ذلك تنفذ العبارة Exit For التي تنهي بدورها تنفيذ الحلقة For.Next قبل انتهاء الحلقة الدالة Inputbox تستخدم فى إدخال بيانات بواسطة المستخدم من خلال مستطيل يطلب منه إدخال البيان المطلوب . مثل إدخال معدل الضريبة الكلى يتم حساب الضرائب التي تستقطع من العاملين أو إدخال الراتب الاساسى لموظف حساب صافى مستحقاته بعد إضافة الحوافز والمكافآت وخصم الضريبة والاستقطاعات وتأخذ هذه الدالة الشكل التالي : الشكل العام للدالة Inputbox مثال : الدرس 8.rar
    1 point
  18. سلمت يداك وسلمت من كل سوء وبارك الله فيك على شرحك المتميز
    1 point
  19. يُرْوَى عَنْ مُعاذٍ رَضِيَ اللهُ عَنْهُ قوله : تَعَلَّمُوا العِلْمَ فإنّ تعلُّمَهُ لِلّهِ خَشْيَةً وَطَلَبَهُ عِبَادَةٌ ومُدَارَسَتَهُ تَسْبِيحٌ والبَحْثَ عنهُ جِهَادٌ وَتَعْلِيَمهُ مَنْ لا يَعْلَمُ صَدَقَةٌ وَبَذْلَهُ لأهْلِهِ قُرْبَةٌ وَهُوَ الأَنيِسُ في الوَحْدةِ والصاحِبُ في الخَلْوَةِ والدّلِيل على الدِّين والمُصَبِّرُ على السرَّاءِ الضَّرَّاءِ والوَزِيرُ عِندَ الإخِلاء والقَرِيبُ عندَ الغُرَباءِ وَمَنارُ سَبيلِ الجَنّةِ يَرْفَعُ اللهُ بِهِ أقْوَامًا فيجعلُهُمْ في الخَيْرِ قَادةً سادةً هُدَاةً يُقْتَدَى بهم أَدِلِّةً لِلْخَيرِ تُقْتَفَى آثارُهمْ وَتُرْمَقُ أَفْعالُهُمْ وَتَرْغَبُ الملائكةُ في خُلَّتِهمْ وبأَجنِحَتِهَا تمْسَحُهُمْ وَكُلُّ رَطْبِ ويابسٍ لهُمْ يَستغْفرُ حَتَّى حِيتَانُ البَحْرِ وَهَوامُّهُ وَسِبَاع البَرِّ وَأَنْعامُهُ والسَّماءُ وَنُجُومُها ، لأنَّ العِلْمَ حَيَاةُ القُلُوب مِنَ العَمَى وَنُورُ الأبْصَارِ مِنِ الظُلَمِ وَقوَّةُ الأبْدانِ مِنَ الضَّعْفِ يَبْلُغْ بِهِ العَبْدُ مَنَازلَ الأَبْرارِ والدَّرَجَاتِ العُلَى وَمُدَارَسَتُهُ بالقيام به يُطاع اللهُ عزَّ وجلَّ وَبِهِ يُعْبَدُ ، وَبِهِ يُوَحَّدُ ، وَبِهِ يُمَجَّدُ ، وَبِهِ يُتَوَرَّعُ ، وَبِهِ تُوصَلُ الأَرْحَامُ ، وَبِهِ يُعرفُ الحَلالُ والحرامُ ، وهو إمامٌ والعَمَلُ تابعُهُ يُلْهَمُهُ السُعداءُ وَيُحْرَمُهُ الأَشْقِياءُ .
    1 point
  20. اخى العزيز كود لاخفاء واظهار الصفوف مع عمل حماية للورقة كلمة السر لفك حماية الورقة 1964 الكود المستخدم للاخفاء Sub اخفاء() SpreadsheetPassword = 1964 ActiveSheet.Unprotect Password:=SpreadsheetPassword Rows("8:20").EntireRow.Hidden = True ActiveSheet.Protect Password:=SpreadsheetPassword, UserInterfaceOnly:=True ActiveSheet.EnableOutlining = True MsgBox "مع تحياتى / قنديل الصياد" End Sub الكود المستخدم للاظهار Sub اظهار() SpreadsheetPassword = 1964 ActiveSheet.Unprotect Password:=SpreadsheetPassword Rows("8:20").EntireRow.Hidden = False ActiveSheet.Protect Password:=SpreadsheetPassword, UserInterfaceOnly:=True ActiveSheet.EnableOutlining = True MsgBox "مع تحيات تى / قنديل الصياد" End Sub
    1 point
  21. تغيير ترتيب اسماء من خلال مربع قائمة تغيير ترتيب من خلال مربع قائمة.rar
    1 point
  22. إليكم هذا الكود أتمنى أن يعجبكم رسالة تأكيد ضهور معلومات.rar رسالة تأكيد ضهور معلومات.rar
    1 point
  23. كود اضافة دالة اسم اليوم كود اضافة دالة اسم اليوم.rar
    1 point
  24. كود لجمع الخلايا ذات اللون المعين وادراجه كمعادلة هذه ضيغة الداله =ColorFunction($C$1;$A$1;TRUE) الجزء المضلل بالاحمر المدى المراد جمع خلاياه الملونه والجزء المضلل بالاخضر الخليه العينه التي فيها اللون المراد جمع الخلايا التي تحتوي على نفس اللون اليكم الكود Function ColorFunction(rColor As Range, rRange As Range, Optional SUM As Boolean) Dim rCell As Range Dim lCol As Long Dim vResult '=ColorFunction($C$1;$A$1:$A$12;TRUE)كالتالي عمل الداله الاول بعد القوس الخليه التي تحط فيها اللون المراد جمعه 'وبعد الفاصل من خليه والفاصل الثاني الي خليه اغلق القوس lCol = rColor.Interior.ColorIndex If SUM = True Then For Each rCell In rRange If rCell.Interior.ColorIndex = lCol Then vResult = WorksheetFunction.SUM(rCell, vResult) End If Next rCell Else For Each rCell In rRange If rCell.Interior.ColorIndex = lCol Then vResult = 1 + vResult End If Next rCell End If ColorFunction = vResult End Function معادلة لجمع الخليه الملونة بالكسور.rar
    1 point
  25. الله الله الله إبداع متميز و كود جميل جداً شكراً أخي الحبيب خبور خير على هذه الهدية الرائعة
    1 point
  26. السلام عليكم و رحمة الله أخي حسب طلبك يجب ان يكون تنسيق الارقام في العمود الذي يحتوي ترقيم على انها نص و لعمل بأفضل طريقة : 1) قم بإضافة ' فاصلة علوية واحدة قبل الرقم لنفرض الخلية A1 ثم اكتب الرقم 1 2) قم بسحبها بالماوس بدون الضغط على Ctrl . 3)عند اضافة سطر جديد انت لست بحاجة الا لخطوة واحدة فقط أمسك الخلية التي تعلو السطر المضاف ثم اسحبها بالماوس . أتمنى ان تكون قد اتضحت الفكرة دمت في حفظ الله
    1 point
  27. إذا كان رقم واحد مثلا فى الصف الثالث نضع فى a3 المعادلة التالية و نسحبها لأسفل =row()-2 واسحب المعادلة لأسفل معنى المعادلة قيمة الخلية a3 = رقم صفها - 2 يعنى واحد
    1 point
  28. الاخوة الكرام كل عام وانتم بخير لم اجد ما اهدية الا هذا البرنامج المحاسبى الرائع نظرا لحاجة الكثير اليه فقد وضعته اكراما للاخ الحبيب خبور الذى لم يتاخر لحظة لاى طلب من اخوانى الاعضاء اولا الباسوورد 400804-40809-52290-21000 ثانيا التحميل http://www.sendspace.com/file/8bhgdf http://www.sendspace.com/file/7uk628 http://www.sendspace.com/file/9u6ckm واتمنى من الجميع دعوة خالصة لله (اللهم اعز الاسلام والمسلمين اللهم انصر الاسلام والمسلمين) وكل عام وانتم بخير محمد طنطاوى
    1 point
×
×
  • اضف...

Important Information