نجوم المشاركات
Popular Content
Showing content with the highest reputation on 05/03/16 in مشاركات
-
بارك الله فيك أخي الكريم سليم وجزاك الله خيراً كود طويل بعض الشيء أخي سليم .. جرب الكود التالي في حدث ورقة العمل .. Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$B$6" Then With Application: .EnableEvents = False: .ScreenUpdating = False: End With Dim Rng As Range, Col Set Rng = Range("C6:N6") Rng.EntireColumn.Hidden = False Col = Application.Match(Target, Rng, 0) If IsNumeric(Col) Then Rng.EntireColumn.Hidden = True: Columns(Col + 2).Hidden = False With Application: .EnableEvents = True: .ScreenUpdating = True: End With End If End Sub3 points
-
السلام عليكم الحل ان تجعل حاصل الفرق داخل الاستعلام تفضل التعديل تكلفة2.rar3 points
-
ربما كان المطلوب Hide_false_columns.rar2 points
-
في بداية الكود ActiveSheet.Unprotect "123" في نهاية الكود ActiveSheet.Protect "123" بافتراض ان 123 هي كلمة السر2 points
-
انشئ ماكرو refresh طريقته runcommand refresh لان هذا التقرير منشوء على استعلام وسمى الماكرو refresh وضعى المايكرو عن التحديث after update اولا=حضرتك ما قولتيلى انا هذا مشروع للمناقشة قولتيلى برنامج للجامعة يا ريت توضح من الاول لافيدك2 points
-
2 points
-
برنامج توزيع المراقبين على لجان المدارس اتفضل البرنامج بعد التعديل ولا يكرر اسم المراقب برنامج توزيع المراقبين على لجان المدارس.rar2 points
-
اعرض الملف برنامج توزيع اتوماتيك للمراقبين على لجان المدارس برنامج توزيع اتوماتيك للمراقبين على لجان المدارس طبعا قبل فتح البرنامج خفف امان الماكرو فى الاكسس ليعمل بصورة جيدة برنامج توزيع المراقبين على لجان المدارس1.rar صاحب الملف بحار الاكسس تمت الاضافه 02 ماي, 2016 الاقسام قسم الأكسيس1 point
-
اعرض الملف برنامج ادارة مكتبة ادوات مدرسية والعاب برنامج ادارة مكتبة ادوات مدرسية والعاب طبعا قبل فتح البرنامج خفف امان الماكرو فى الاكسس ليعمل بصورة جيدة صاحب الملف بحار الاكسس تمت الاضافه 02 ماي, 2016 الاقسام قسم الأكسيس1 point
-
السلام عليكم ورحمة الله وبركاته اخوانى الافاضل احيانا نقف امام انفسنا عاجزين عن تقديم المساعده لانفسنا فى ابسط الامور وذلك لجهلنا وعدم المامنا بالقليل من المعلومات فى هذا الموضوع فكرت فى تناول بعض المعلومات التى تفيدك فى الاعتماد على نفسك من اليوم وسوف نتناول امثله عمليه حتى تكون الاستفاده اكبر تقبلو تحياتى1 point
-
اريد مساعدة عاجلة لو سمحتم اريد برنامج لتوزيع مراقبين وملاحظين الثانوية على مدارس ولجان مختلفة مثال للمطلوب هناك 50 مدرسة ثانوية فى محافظة اسوان الملاحظين الذين سيتم ندبهم موجودون فى محافظة الاقصر وليكن عددهم مثلا 500 معلم اريد توزيع 500 معلم من محافظة الاقصر على 50 مدرسة ثانوية موجودة فى اسوان هل منكم من يساعدنى فى تنفيذ هذا خلال الساعات القادمة بالله عليكم اريد الملف ضرورى جدا وليكن مصمما بالاكسيل او غيره المهم ان يؤدى الدور بحيث لا يتكرر اسم اى ملاحظ فى اى مدرسة مختلفة اخرى1 point
-
جميل أخي الغالي عبد السلام .. بس متنساش إنك بتتعامل مع التغير في حدث ورقة العمل .. فكدا الكود هيتنفذ مع كل تغير في ورقة العمل لأنك لم تحدد الخلية التي تريد على أساسها إحداث التغير .. وثانياً يفضل إلغاء خاصية EnableEvents ..وثالثاً أحاول دائماً قدر الإمكان الابتعاد عن الحلقات التكرارية .. تقبل تحياتي1 point
-
رائع بحق أخي الحبيب عبد السلام أبو العوافي أنت مدرسة وحدك .. بارك الله فيك وجزاك الله كل خير ألم أقل لك أنك السهل الممتنع ؟ وهذا أكثر ما يعجبني .. تعجبني الحلول السهلة البسيطة والمميزة والتي تحل المشكلة من جذورها بكل بساطة تقبل وافر تقديري واحترامي1 point
-
1 point
-
نضع الكود التالي عند تحميل التقرير Private Sub Report_Load() If aaa.Value = 0 Then MsgBox "لا يوجد كذا", vbOKOnly, "لا يوجد" DoCmd.Close acReport, "اسم التقرير" End If End Sub على فرض ان الحقل aaa هو حقل عدد السجلات ...1 point
-
1 point
-
أخي الكريم أحمد تعرف أنه لولا أخي سليم ما كنت وضعت الإجابة ..حيث انني لم أفهم المطلوب إلا عندما اطلعت على ملفه .. الأخ سليم من عمالقة المنتدى وكل أعماله رائعة ومميزة ، وأنا أحب الاحتفاظ بملفاته عندي في المكتبة التي لدي لا حرمنا الله منه أبداً والحمد لله أن تم المطلوب على خير ..والحمد لله الذي بنعمته تتم الصالحات1 point
-
كل الشكر لك اخي ياسر فعلا كود حضرتك ممتاز وفعال مختصر عن كود اخي سليم جزاكم الله خيرا واود ان اشكركم واشكر منتداكم المتميز الذي تعلمت منه الكثير1 point
-
أخي الكريم مهند يرجى دائماً عند حدوث مشكلة أن نرفق صورة للمشكلة والسطر الأصفر الذي تظهر معه المشكلة لتحديد الثغرة أو المشكلة بدقة من المفترض أن السطر الذي قمت بالتعديل عليه صحيح .. ولكن سؤال هل قمت بالإعلان عن المتغير strName حيث أنه متغير نصي .. قد تكون المشكلة في تلك النقطة تم شرح الموضوع من جديد بالطلبات الجديدة على الرابط التالي الرابط من هنا تقبل تحياتي1 point
-
أخي الكريم مهند بالفعل هي نفس الفكرة تماماً لما لا تقوم باستخدامها في الكود لديك قم بإضافة السطر التالي قبل تنفيذ الكود Application.EnableEvents = False وفي نهاية الكود تستخدم نفس السطر مع تحويل القيمة إلى True ولحذف الكود من ورقة العمل التي ستقوم بتصديرها وستستخدم هذه الأسطر للإشارة إلى ورقة العمل المراد حذف الكود منها strName = Worksheets("Data").CodeName With ActiveWorkbook.VBProject.VBComponents(strName).CodeModule .DeleteLines 1, .CountOfLines End With ولا تنسى أيضاً السطر الذي سيقوم بالحفظ Application.ActiveWorkbook.Close True1 point
-
ليس شرط تعلم الـ VBA فقط تعلم البدايات إليك الرابط التالي لتعرف الأساسيات الأولى في التعامل مع محرر الأكواد الرابط من هنا1 point
-
لا حرمنا الله من علمكم وجميل اخلاقكم وحسن توجيهكم أخوتنا الكرام1 point
-
1 point
-
سؤالي لكم هل انتهيتم مما قدمه الأخ الغالي إبراهيم أبو ليلة .. نصيحة لا تطلبوا المزيد إلا بعد أن تهضموا ما قدم لكم ، وتطبقوه بشكل عملي على ملفات تطبيقية لتتأكد المعلومات لديكم ويكون لديكم القدرة على استخدامها في الأكواد بكفاءة وفقني الله وإياكم لكل خير .. وبالمنتدى يوجد الكثير من الدورات .. بعد الانتهاء من هذا الموضوع انتقلوا لدورة أخرى وستجدون الموضوع أصبح أيسر مع الوقت أي ربما تجد نفسك تقوم بالإطلاع على دورة كاملة في ساعة أو ساعتين .. تقبلوا تحياتي1 point
-
لا يوجد رساله فقط يفتح التقرير فارغ من الاسماء بس عجبتني موضوع الرساله فكرتك حلوة1 point
-
الكود صحيح اخي الفاضل .. لكن يجب التعديل علي زر الدخول في الفورم 3 Unload Me User_Data.Show بدلا من User_Data.Show Unload Me1 point
-
فى ذر شاشة الدخول استبدل الكود الموجود بالكود الاتى Private Sub CommandButton1_Click() If TextBox1.Value = "محمود" And TextBox2.Value = "1990" Then Unload Me User_Data.Show Exit Sub End If MsgBox "المدخلات غير صحيحة - ادخل المطلوب مرة ثانية" TextBox1.Value = "" TextBox2.Value = "" TextBox1.SetFocus End Sub فى ذر الدخول الى صفحة العمل ضع الكود التالى بدل الموجود Private Sub CommandButton4_Click() Unload Me Application.Visible = True Sheet2.Activate End Sub1 point
-
فقط اجعل الحقول الثلاثة في جدول الارشيف مفاتيح اليوزر والشهر والسنة ومهما كررت عملية الترحيل فلن يتم الترحيل الا حسب الشرط تم التعديل الترحيل2.rar1 point
-
ممكن أعرف ليه أسماء المراقبين موجود في عمودين ..اعذرني لقلة فهمي فيه معطى مهم جداً مش موجود في الملف المرفق ألا وهو عدد المراقبين المطلوب توزيعهم على كل مدرسة أنا بفترض إن الأسماء في عمود واحد وأسماء المدارس في عمود تاني والأعداد المطلوبة في عمود تالت ... مش كدا ولا أنا غلطان أنا عندي تصور للنتيجة ..إن كل مدرسة ستوضع في رأس كل عمود وأسفل منها يوضع أسماء المراقبين بدون تكرار ..فهل هذا يناسبك؟1 point
-
وفيك بارك الله استاذنا ياسر .. دائما التلميذ يفتخر بالثناء والتشجيع من استاذه1 point
-
أخي العزيز ..أحمد إذا كنت قد قرأت الاسم بشكل صحيح أنا لست في غضب منك على الإطلاق ..أحببت فقط أن أوضح لك ما ينفعك في الحلول السريعة والمضمونة والتي تنجز العمل بشكل أسرع فالتوضيح بملف مرفق وبه شكل النتائج المتوقعة يوفر الوقت والجهد بشكل كبير جداً (وعلى رأي المثل اسأل مجرب ولا تسأل طبيب) إذا كنت أطلب التوضيح والملف المرفق وشكل النتائج المتوقعة فهذا من مصلحة السائل وليس من مصلحتي على الإطلاق .. فأنا ببساطة يمكنني عدم الرد كما يقعل معظم الأعضاء وأقف مكتوفي الأيدي ولا أفعل شيئاً إلى أن يقدم العضو كل التوضيح الممكن وبعدها أقدم المساعدة ولكني أفضل حتى ولو لم يكن لدي علم بالأمر أو المسألة أن أساهم في رفع الموضوع ورفع الحرج عن الأخوة بأنني أطلب التوضيح .. وها أنا ذا أطلب ملف مرفق للمرة مش عارف الكام .. وكأنني أطلب المستحيل .. أخي وحبيبي ارفق ملف وإن شاء الله سيكون لديك الحل في خلال ربع ساعة بإذن الله ، فقد وفقني الله في الوصول لبعض الحل ولكن يلزمني ملف مرفق فيه أسماء الملاحظين وأسماء المدارس وعدد الملاحظين المطلوبين لكل مدرسة ..كل بيان في عمود .. وإن شاء الله استبشر خيراً .. وأشكرك على كلماتك الرقيقة في حقي ، ولتعلم أنني والله لست بعالم كبير في هذا المجال إنما أنا متعلم ، وأقوم بطرح المئات من الأسئلة في المنتديات الأجنبية وأبحث هنا وهناك للحصول على معلومة أفيد بها إخواني ..فليس كل ما أقدمه لي .. فأنا مجرد باحث وطالب علم مجتهد مثلي مثل غيري من الأعضاء وفيما يخص الأكسس أو الإكسيل أنا لا مشكلة عندي من الأمر ..أنا فقط أريد أن يكون كل شيء في مكانه الصحيح ، فالموضوع الذي يكون حله بالإكسيل يطرح في قسك الإكسيل ، والموضوع الذي يكون حله في قسم الأكسس يطرح في قسم الأكسس ..فقط للتمييز ونشكر أخونا الحبيب هاني على المجهود الجبار الذي يبذله في مساعدة الأعضاء .. ولكن يجب التنويه على العضو بأن يقوم بطرح الموضوع في القسم المناسب ، أو يتم التنويه لنقل الموضوع للقسم المناسب .. فإذا كنت ما زلت تريد التعامل مع الأكسس قمت بنقل الموضوع لقسم الأكسس حيث يشارك فيه خبراء الأكسس هناك .. تقبل تحياتي1 point
-
وعليكم السلام ورحمة الله وبركاته أخي العزيز عبد العزيز أذكر أنني مكثت أطلع على ملفك فيما يقرب من نصف ساعة أو أكثر بقليل مجرد إطلاع ..لأحاول أن أجد طريقاً أسلك منه إليه ولكن تقف الخلايا المدمجة كما ذكر أخونا أبو عيد عقبة كبيرة .. لا أدري لما اللجوء إلى الدمج ...؟؟أليس هناك حل بديل ..إذ أنه من المعروف أن الدمج عدو الأكواد الأول .. وهذا ليس يعني أن الموضوع مستحيل ولكنه معقد ويحتاج لوقت طويل لمحاولة العمل عليه ، وهذا يجعل من تقديم المساعدة أمر شاق قليلاً على من يريد تقديم المساعدة لم لا يمكن التفكير بإعادة هيكلة الملف بحيث يسهل عليك العمل عليه بشكل عام ، وليس من أجل قضية الموضوع فقط تقبل تحياتي1 point
-
أخي العزيز مهند الحمد لله أن تم المطلوب على خير .. وأعتذر لإلحاحي في طلب الكود أو لرابط الموضوع ..لأنني بالفعل لا أحفظ أكواد على الإطلاق ..إنما يمن الله علي بكتابة كود واقتباس من كود آخر إلى أن يمن الله علي بالانتهاء من الكود المطلوب بالشكل المطلوب وأطرح الحل أو الموضوع وربما أنسى الكثير مما كتبته ... فقد كتبت الكثير لدرجة أنني أنسى أنني كتبت هذا الكود أو ذاك ... والله وحده يعلم بحالي الحمد لله الذي بنعمته تتم الصالحات ... وفقني الله وإياك لكل خير تقبل تحياتي1 point
-
بارك الله فيك أخي العزيز عبد السلام حلولك بسيطة ومميزة ورائعة للغاية ..أنت تمثل السهل الممتنع جزاك الله خير الجزاء1 point
-
حياك الله اخي مصطفى المشكلة والله اعلم هي في التقرير نفسه .. الاحتمال الأول .. حدود التقرير بالطول او العرض اكبر من حد الصفحة .. ستجد علامة خضراء في زاوية التقرير اليسرى. الاحتمال الثاني .. الطابعة .. عندما يكون التقرير في عرض التصميم اختر اعداد الصفحة ومنها اختر طابعة افتراضية وليس طابعة مخصصة . بالتوفيق1 point
-
1 point
-
السلام عليكم الأستاذ الحبيب ابراهيم أبو ليلى تماما كإني جالس بدورة VBA بل أفضل بمليون مرة جهزت ملف إكسل وبدأت بالأكواد التي تشرحها واحد واحد فأنا مبتدىء بهذا المجال وإذا بتكمل معنا بهالطريقة الروعة راح تخرَج طلاب على مستوى ممتاز الرجاء المتابعة الله محيي أصلك يا ملك وفقك الله وجعل كل هذا في ميزان حسناتك1 point
-
أخي الكريم أعتقد أنه بالمنتدى موضوعات مماثلة وبرنامج لهذا الغرض قم بإجراء عملية بحث وستجد طلبك إن شاء الله أو يمكن البدء من هذه الموضوعات وتنطلق وتضيف وتسأل فيما يخص طلبك .. والأفضل في أي موضوع يطرح أن يتم إرفاق ملف1 point
-
بعد الضغط على طباعة اضغط tab اتفضل التعديل التعديل لو عجبك التعديل اضغط like DataUpdate.rar1 point
-
السلام عليكم ورحمة الله أخي الكريم، الملف الذي تعمل عليه ملف من صنعي... وقد قمت ببعض التعديلات عليه في نسخته الأخيرة... بالنسبة لكلمة السر التي تبحث عنها هي : hb (للشيتات أو VBA) والتي تم وضعها فقط حتى لا تُحذف أو تُمسح معادلاته أو أكواده... ولك كل الحرية في الاستفادة أو التعديل على الملف بما يناسبك... وإن شاء الله تجدني في الخدمة بما تريده... أخوك بن علية1 point
-
اخى السيفانى ان شاء الله سيتم استكمال الموضوع ثم بعد ذلك يتم تنقيح الموضوع ارجو التماس العزر فى التأخير وفى توقف الدروس ولكن ان شاء الله فى القريب نستكمل باقى الدروس تقبل تحياتى1 point
-
السلام عليكم ورحمة الله وبركاته الدرس الثاني عشر 12-Window Events وسوف نتناول فى هذه الدرس الاتى تغيير التسمية التوضيحية لإسم نافذة المصنف النشط تنشيط نافذة معينه مفتوحه إخفاء أو إظهار نافذة مصنف مفتوح إغلاق نافذة مصنف فتح نافذه جديد لمصنف معين تكبير أو تصغبر أو الوضع العادى لنافذة مصنف عمل زووم لنافذة معينه إخفاء علامات التبويب لأوراق العمل فى مصنف معين إخفاء رؤوس الأعمدة والصفوف فى مصنف معين إخفاء شريط التمرير الأفقي فى مصنف معين إخفاء شريط التمرير العمودي فى مصنف معين عرض جميع صيغ المعدلات فى مصنف معين إخفاء خطوط الشبكة فى مصنف معين تلوين خطوط الشبكة فى مصنف معين عمل معاينة لفواصل الصفحات فى مصنف معين إخفاء القيم الصفرية فى مصنف معين اظهار اسم الورقة النشطه في رساله اظهار عنوان الخلية النشطة فى مصنف معين في رساله اظهار عنوان مدى محدد في رساله تجميد الألواح داخل فى مصنف معين عمل انقسام فى مصنف معين ................................................................................................................................................................................. تغيير التسمية التوضيحية لإسم نافذة المصنف النشط لاحظ هنا ان اسم المصنف المفتوح امامك هو LEARN--VBA.xlsb طب لو احنا عايزين نغيره ونخليه مثلا مش مهم تكون محترفvbaالمهم تكون عندك معلومات عنvba.xlsb سيكون شكل الكود Sub A_Window_Caption() ActiveWindow.Caption = "مش مهم تكون محترفvbaالمهم تكون عندك معلومات عنvba.xlsb" End Sub تنشيط نافذة معينه مفتوحه كما يتضح من الصوره ان هناك اكثر من نافذة اكسيل مفتوحه ولكن المصنف النشط هو 9-sky201.xlsb فلو افترضنا اننا نريد اننا عايزين نخلى المصنف النشط هو LEARN--VBA.xlsb ليصبح هكذا سيكون شكل الكود Sub Windows_Activate() Windows("LEARN--VBA.xlsb").Activate End Sub إخفاء أو إظهار إطار نافذة مصنف مفتوح كما يتضح من الصوره اننا لدينا اكثر من مصنف مفتوح فلو اردنا اخفاء نافذه المصنف 9-sky201.xlsb سيكون شكل الكود Sub Windows_Visible() ' اخفاء Windows("9-sky201.xlsb").Visible = False ' اظهار 'Windows("9-sky201.xlsb").Visible = True End Sub إغلاق نافذة مصنف فلو اردنا اغلاق نافذة المصنف 9-sky201.xlsb سيكون الكود كالاتى Sub Windows_CLOSE() Windows("9-sky201.xlsb").Close = True End Sub فتح نافذه جديد لمصنف معين فى الصوره يتضح ان المصنف LEARN--VBA.xlsb مفتوح مره واحده ولفتحه مرتين هكذا لاحظ فى الصوره انه تم اضاف شيت جديد باسم افتراضى LEARN--VBA.xlsb:2 وتم تميز المصنف الاول باسم LEARN--VBA.xlsb:1 وعند غلق اى من المصنفين يتم اعادة اسم المصنف كما كان LEARN--VBA.xlsb سيكون الكود كالاتى Sub NewWindow_() Windows("LEARN--VBA.xlsb").NewWindow End Sub تكبير أو تصغبر أو الوضع العادى لنافذة مصنف سيكون الكود كالاتى Sub WindowState_() 'الوضع العادى Windows("LEARN--VBA.xlsb").WindowState = xlNormal 'تكبير 'Windows("LEARN--VBA.xlsb").WindowState = xlMaximized ' تصغير 'Windows("LEARN--VBA.xlsb").WindowState = xlMinimized End Sub عمل زووم لنافذة معينه سيكون الكود كالاتى Sub WindowZOOM_() Windows("LEARN--VBA.xlsb").Zoom = 80 End Sub إخفاء علامات التبويب لأوراق العمل فى مصنف معين لاحظ اختفاء اسماء الشيتات بعد تنفيذ الكود سيكون الكود كالاتى Sub DisplayWorkbookTabs_() ' اخفاء Windows("LEARN--VBA.xlsb").DisplayWorkbookTabs = False ' اظهار 'Windows("LEARN--VBA.xlsb").DisplayWorkbookTabs = True End Sub إخفاء رؤوس الأعمدة والصفوف بمصنف معين سيكون الكود كالاتى Sub DisplayHeadings_() ' اخفاء Windows("LEARN--VBA.xlsb").DisplayHeadings = False ' اظهار 'Windows("LEARN--VBA.xlsb").DisplayHeadings = True End Sub إخفاء شريط التمرير الأفقي فى مصنف معين سيكون الكود كالاتى Sub DisplayHorizontalScrollBar_() ' اخفاء Windows("LEARN--VBA.xlsb").DisplayHorizontalScrollBar = False ' اظهار 'Windows("LEARN--VBA.xlsb").DisplayHorizontalScrollBar = True End Sub إخفاء شريط التمرير العمودي فى مصنف معين سيكون الكود كالاتى Sub DisplayVerticalScrollBar_() ' اخفاء Windows("LEARN--VBA.xlsb").DisplayVerticalScrollBar = False ' اظهار 'Windows("LEARN--VBA.xlsb").DisplayVerticalScrollBar = True End Sub عرض جميع صيغ المعدلات فى مصنف معين سيكون الكود كالاتى Sub DisplayFormulas_() ' اخفاء Windows("LEARN--VBA.xlsb").DisplayFormulas = False ' اظهار 'Windows("LEARN--VBA.xlsb").DisplayFormulas = True End Sub إخفاء خطوط الشبكة فى مصنف معين سيكون الكود كالاتى Sub DisplayGridlines_() ' اخفاء Windows("LEARN--VBA.xlsb").DisplayGridlines = False ' اظهار 'Windows("LEARN--VBA.xlsb").DisplayGridlines = True End Sub تلوين خطوط الشبكة فى مصنف معين سيكون الكود كالاتى Sub DisplayGridlines_() Windows("LEARN--VBA.xlsb").GridlineColorIndex = 5 End Sub عمل معاينة لفواصل الصفحات فى مصنف معين سيكون الكود كالاتى Sub WindowView_() Windows("LEARN--VBA.xlsb").View = xlNormalView End Sub إخفاء القيم الصفرية فى مصنف معين سيكون الكود كالاتى Sub DisplayZeros_() ' اخفاء Windows("LEARN--VBA.xlsb").DisplayZeros = False ' اظهار 'Windows("LEARN--VBA.xlsb").DisplayZeros = True End Sub اظهار اسم الورقة النشطه في رساله سيكون الكود كالاتى Sub MsgBoxActiveSheet_() MsgBox Windows(1).ActiveSheet.Name End Sub اظهار اسم الخليه النشطه محدد في رساله Sub MsgBoxActiveSheet_() MsgBox Windows("LEARN--VBA.xlsb").ActiveCell.Address End Sub اظهار عنوان مدى محدد في رساله Sub MsgBoxRangeSelection_() MsgBox Windows("LEARN--VBA.xlsb").RangeSelection.Address End Sub تجميد الألواح داخل فى مصنف معين Sub MsgBoxActiveSheet_() Windows("LEARN--VBA.xlsb").FreezePanes = True 'Windows("LEARN--VBA.xlsb").FreezePanes = false End Sub عمل انقسام فى مصنف معين Sub Split_() Windows("LEARN--VBA.xlsb").Split = True 'Windows("LEARN--VBA.xlsb").Split = false End Sub اتمنى ان يكون الدرس مفيدا مرفق شيت اكسيل به التطبيقات learnvba.rar تقبلوا تحياتى1 point
-
إخواني الكرام إليكم الملف يعمل على النسختين 32 بت و 64 بت أرجو أن تستفيدوا منه .. تقبلوا وافر تقدير واحترامي Codes Library v1.9.7.rar1 point
-
السلام عليكم ورحمة الله وبركاته الدرس السابع 7-Conditions الشروط وسوف نتناول فى هذه الدرس الاتى انشاء الشرط بواسطة if استخدام اكثر من شرط داخل الكود وذلك باستخدام Else if استخدام Select Case استخدام or مع if استخدام and مع if بعض الشروط شائعة الاستخدام ........................................... انشاء الشرط بواسطة if يتم انشاء الشرط بواسطة if وطالما كان هناك شرط اذا لابد ان تكون هناك نتيجه تتحقق بتوافر الشرط ام بعدم توافره ففى حاله توافر الشرط نستخدم كلمة then وفى حالة عدم توافر الشرط نستخدم كلمة else ثم فى النهاية لابد ان يتم اقفال الشرط if ب end if If الشرط Then ماذا سيحدث فى حالة تحقق الشرط Else فى حالة عدم تحقق الشرط ماذا سيحدث فى حالة عدم تحقق الشرط End If نهاية قاعدة الشرط مــثــــــــــــــال نريد فى حالة وجود الرقم 10 فى الخليه a17 يتم كتابة الرقم صحيح فى الخليه b17 واذا كان الرقم لايساوى الرقم 10 يتم كتابةالرقم خطأ فى الخليه b17 شاهد الصوره طيب نشوف الكلام ده هيتعمل ازاى بالكود Sub Conditions() If [a17] = 10 Then ' A17 هنا نقول انه فى حالة وجود الرقم 10 فى الخليه 'Then يتم ' الرقم صحيح B17 اعطاء الخليه [B17] = "الرقم صحيح" Else 'Else فى حالة عدم وجود ارقام غير الرقم10 ' الرقم خطأ A17 اعطاء الخليه [B22] = "الرقم خطأ" End If 'End If..... IFنهاية الشطر End Sub استخدام اكثر من شرط داخل الكود وذلك باستخدام Else if مـثـــــــــــــــــــال نريد اذا كانت الخليه a23 بها الرقم 10 يتم كتابة a10 فى الخليه a24 واذا كانت a23 بها الرقم 20 يتم كتابة a20 فى الخليه A24 واذا كانت a23 بها الرقم 30 يتم كتابة a30 فى الخليه A24 شاهد الصوره طيب نشوف الكلام ده هيتعمل ازاى بالكود Sub Conditions1() If Range("A23") = 10 Then Range("A24") = "a10" ElseIf Range("A23") = 20 Then Range("A24") = "a20" ElseIf Range("A23") = 30 Then Range("A24") = "a30" Else Range("A24") = "خطأ" End If End Sub استخدام Select Case يمكننا استخدا مها فى حالة توافر اكثر من شرط Select Case كتابة معطيات التى يبنى عليها الشرط Case Is الشرط الاول النتيجه Case Is الشرط الثانى النتيجه Case Is الشرط الثالث النتيجه Case Else ' فى حالة عدم تحقق اى من الشروط النتيجه End Select ' Select Case نهاية مـثـــــــــــــــــــال نريد اذا كانت الخليه a45 بها الرقم 10 يتم كتابة a10 فى الخليه a46 واذا كانت a45 بها الرقم 20 يتم كتابة a20 فى الخليه A46 يتم كتابة a30 فى الخليه A46 شاهد الصوره طيب نشوف الكلام ده هيتعمل ازاى بالكود Sub Conditions2() Select Case Range("A45") Case Is = 10 Range("A46") = "a10" Case Is = 20 Range("a46") = "a20" Case Is = 30 Range("a46") = "a30" Case Else Range("a46") = "خطأ" End Select End Sub استخدام or مع if مـثـــــــــــــــــــال قوم بانشاء قاعده بيانات مكون من عمود واحد به اسماء معينه من A الى D ونريد عند كتابة اسم معين فى الخليه a59 واذا كان هذا الاسم موجود ضمن الاسماء يتم كتابة الاسم صحيح فى الخليه B59 واذا كان غير موجود يتم كتابة الاسم خطأ طيب نشوف الكلام ده هيتعمل ازاى بالكود Sub Conditions3() If [A59] = [a54] Or [A59] = [A55] Or [A59] = [A56] Or [A59] = [a57] Then ' A59 هنا نقل انه فى حالة وجود الاسم الموجود فى الخليه ' ضمن الاسماء الموجوده فى الخلايا ' A54--او-A55--او-A56--او-A57 'Then يتم ' الاسم صحيح B59 اعطاء الخليه [b59] = "الاسم صحيح" Else 'Else فى حالة عدم وجود الاسم ضمن الاسماء يتم ' الاسم خطأ B59 اعطاء الخليه [b59] = "الاسم خطأ" End If 'End If..... IFنهاية الشطر End Sub استخدام and مع if مـثـــــــــــــــــــال نقوم بانشاء قاعده بيانات مكونه من عمودين واحد به اسماء معينه من A الى D والثانى به ارقام من 1 الى 4 ونريد عند كتابة اسم معين فى الخليه A68 وكتابة رقم معين فى الخليه b68 واذا كان هذا الاسم يخص الرقم يتم كتابة الاسم صحيح فى الخليه B59 واذا كان لا يخص هذا هذا الرقم يتم كتابة الاسم خطأ طيب نشوف الكلام ده هيتعمل ازاى بالكود Sub Conditions4() If ([A68] = [a63] And [b68] = [b63]) Or ([A68] = [a64] And [b68] = [b64]) Or _ ([A68] = [a65] And [b68] = [b65]) Or ([A68] = [a66] And [b68] = [b66]) Then ' A68 هنا نقل انه فى حالة وجود الاسم الموجود فى الخليه ' ضمن الاسماء الموجوده فى الخلايا ' A63--او-A64--او-A65--او-A66 ' b68 وفى حالة وجود الاسم الموجود فى الخليه ' ضمن الاسماء الموجوده فى الخلايا ' b63--او-b64--او-b65--او-b66 'Then يتم ' الاسم صحيح B69 اعطاء الخليه [b69] = "الاسم صحيح" Else 'Else فى حالة عدم وجود الاسم ضمن الاسماء يتم ' الاسم خطأ 659 اعطاء الخليه [b69] = "الاسم خطأ" End If 'End If..... IFنهاية الشطر End Sub بعض الشروط شائعة الاستخدام If IsNumeric(Range("A75")) = True Then ' هنا نشترط ان تكون القيمه عدديه If IsNumeric(Range("A76")) Then ' هنا نشترط ان تكون القيمه عدديه If IsNumeric(Range("A77")) = FALSE Then ' هنا نشترط ان تكون القيمه غير عدديه If NOT IsNumeric(Range("A78")) Then ' هنا نشترط ان تكون القيمه غير عدديه--اى نصيه If IsDate(Range("79")) Then ' هنا نشترط ان تكون القيمه عباره عن تاريخ If IsEmpty(Range("80")) Then ' هنا نشترط عدم ادخال شىء اى ان تكون الخايه فارغه Sub ConditionsE() If IsNumeric(Range("A75")) = True Then ' هنا نشترط ان تكون القيمه عدديه MsgBox " قيمة الخليه A75 عدديه " End If If IsNumeric(Range("A76")) = True Then ' هنا نشترط ان تكون القيمه عدديه MsgBox " قيمة الخليه A76 عدديه " End If If IsNumeric(Range("A77")) = False Then ' هنا نشترط ان تكون القيمه غير عدديه MsgBox " قيمة الخليه A77 غير عدديه " End If If Not IsNumeric(Range("A78")) Then ' هنا نشترط ان تكون القيمه غير عدديه MsgBox " قيمة الخليه A78 غير عدديه " End If If IsDate(Range("A79")) Then ' هنا نشترط ان تكون القيمه تاريخ MsgBox " قيمة الخليه A79 تاريخ " End If If IsEmpty(Range("A80")) Then ' هنا نشترط ان تكون الخليه فارغه MsgBox " قيمة الخليه A80 فارغه " End If End Sub اتمنى ان يكون الدرس مفيدا مرفق شيت اكسيل به التطبيقات learnvba.rar تقبلوا تحياتى learnvba.rar1 point
-
أخي الحبيب إبراهيم وجب تصحيح نقط معينة وهو أنه لا يجوز الإعلان عن متغير وتعيين قيمة له في نفس السطر Dim H As Integer=10 يجوز ذلك في لغة الفيجوال بيزيك دوت نت أما في VBA سيعطيك خطأ نقطة أخرى بالنسبة للسطر Dim H,m As Integer هنا لم يتم الإعلان عن المتغيرين من النوع عدد ..فقط المتغير m هو المتغير العددي أما المتغير H في هذه الحالة يعتبر من النوع Variant للتأكد من صحة مقولي قم بنسخ الكود التالي في موديول Sub Test() Dim H, m As Integer End Sub قم بوضع مؤشر الماوس في سطر End Sub اضغط F9 لوضع نقطة وقوف BreakPoint سيكون لونها باللون الأحمر الغامق روح لقايمة View وأظهر نافذة Locals ثم قم بتنفيذ الكود ستجد في النافذة تفاصيل كل متغير أرجو أن أكون قد وفقت في توصيل المعلومة1 point
-
السلام عليكم ورحمة الله وبركاته الدرس السادس 6-Variables المتغيرات بصراحة كده الموضوع ده كبير ولكن انا اخدت الى يمشينا وميعطلناش لاننا زى مقولنا اننا مش مطلوب مننا نكون محترفين على العموم نبدأ الدرس شروط تسمية المتغيرات : طبعا لازم نعرف اننا علشان نستخدم المتغيرات داخل الاكواد فلازم نقوم باعطاء كل متغير اسم يعبر عنه ازاى يعنى يعنى مثلا انت عايز تعبر عن متغير عدد او نصى او تاريخ يبقى لازم تعطى المتغير ده اسم معين الاسم ده بقى 1-يجب الا يبدأ برقم يعنى مينفعش نسمى المتغير بالشكل ده 12345 او 12hima على سبيل المثال 2-ان ممكن تستخدم الارقام فى تسمية المتغير ولكن يشترط ان يبدأ الاسم بحرف على سبيل المثال h123 3-لايجوز ان يحتوى اسم المتغير على مسافات او نقطه او رموز مثل(( ؟ ، * ، ) ، ( ، /......... إلخ )) وعلى سبيل المثال hima laila او hima.laila او hima-laila او hima*laila وهكذا ولكن يمكن استخدام المسافه السفليه _ على سبيل المثال hima_laila 4-يجب عدم تكرار تسمية المتغير انواع المتغيرات نشوف ازاى يتم الاعلان عن المتغير داخل الكود لو احنا عايزن نعلن عن متغير ذات قيمه عدديه يبقى هيكون بالشكل ده هنفترض ان اسم المتغير هو h Dim H As Integer ويجب ان نشير اناا يجب ان نبدأ بكلمة dim وذلك للاشاره باننا بصدد التعبير عن المتغيرات كما يمكننا التعبير عن اكثر من متغير فى سطر واحد فلو اننا نريد التعبير عن متغيرين فى نفس السطر وليكن اسمهما h و m يبقى سطر الكود هيكون بالشكل ده Dim H,m As Integer وهنا سنجد ان المتغير h تم تعريفه على انه من النوع Variant اما المتغير m فتم تعريفه على انه من النوع العددى ثم تأتى مرحلة اعطاء القيمه للمتغير الذى قمنا بتعريفه مثلا يتم اعطاء القيمه 10 للمتغير h والقيمه 20 للمتغير m وسيكون شكل الكود كالاتى Dim H,m As Integer h=10:m=20 واذا اردنا مثلا الاعلان عن متغير من نوع النصوص سيكون هكذا Dim h2 As String="hima" لاحظ اننا قمنا بتغير الاسم الى h2 لانه كما ذكرنا من قبل انه لايجب تكرار تسمية المتغير كما انه يجب الاشاره انه فى حالة الاعلان عن متغير من نوع النصوص يجب وضع الاسم بين علامتي التنصيص " ناخد ميثال على الماشى Sub Variables() Dim h As Integer h = 101 Dim h1 As Single h1 = 101.15 Dim h2 As String h2 = "ابراهيم محمد ابراهيم" Dim h3 As Date h3 = "24 / 9 / 1981" Dim h4 As Worksheet Set h4 = Sheet1 ' ............................................................ [a34] = h [a36] = h1 [a38] = h2 [a40] = h3 [a42] = h4.Name End Sub اتمنى ان يكون الدرس مفيدا مرفق شيت اكسيل به التطبيقات learnvba.rar تقبلوا تحياتى learnvba.rar1 point
-
1 point
-
جرب الكود بهذا الشكل . Sub FindSheet() Dim X Dim SH As Worksheet X = InputBox("اكتب اسم الشيت المراد البحث عنه", "Find Sheet") For Each SH In Worksheets If SH.Name Like X Then SH.Activate: Exit For Next SH End Sub1 point
-
في المرفات خطوط الباركود والآداة ومثال اكسس ومثال وورد لطباعة الملصقات خارج اكسس ومفكرة تعليمات زيادة على الملاحظات والتعليمات في ثنايا الامثلة الموضوع قد اشبع بحثا وطرحا في المنتديات المتخصصة لمن اراد الاستزادة Barcode.rar1 point
-
ليس هناك اكوادا بل هناك خطوط وأداة يتم اضافتها للبرنامج وقد قرأت هنا لبعض الأخوة طريقة سهلة وجميلة واقتصادية عن طريق الوورد وبالطابعة الافتراضية العادية والورق العادي لطباعة الملصقات ’ فلا بد من الاشارة اليها عند الكتابة عن هذا الموضوع ولعلي استطيع جمع ما لدي من امثلة وملحقات فأسأل الله العون في ذلك . .1 point