نجوم المشاركات
Popular Content
Showing content with the highest reputation on 05/03/16 in all areas
-
بارك الله فيك أخي الكريم سليم وجزاك الله خيراً كود طويل بعض الشيء أخي سليم .. جرب الكود التالي في حدث ورقة العمل .. 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 point
-
اريد مساعدة عاجلة لو سمحتم اريد برنامج لتوزيع مراقبين وملاحظين الثانوية على مدارس ولجان مختلفة مثال للمطلوب هناك 50 مدرسة ثانوية فى محافظة اسوان الملاحظين الذين سيتم ندبهم موجودون فى محافظة الاقصر وليكن عددهم مثلا 500 معلم اريد توزيع 500 معلم من محافظة الاقصر على 50 مدرسة ثانوية موجودة فى اسوان هل منكم من يساعدنى فى تنفيذ هذا خلال الساعات القادمة بالله عليكم اريد الملف ضرورى جدا وليكن مصمما بالاكسيل او غيره المهم ان يؤدى الدور بحيث لا يتكرر اسم اى ملاحظ فى اى مدرسة مختلفة اخرى1 point
-
جميل أخي الغالي عبد السلام .. بس متنساش إنك بتتعامل مع التغير في حدث ورقة العمل .. فكدا الكود هيتنفذ مع كل تغير في ورقة العمل لأنك لم تحدد الخلية التي تريد على أساسها إحداث التغير .. وثانياً يفضل إلغاء خاصية EnableEvents ..وثالثاً أحاول دائماً قدر الإمكان الابتعاد عن الحلقات التكرارية .. تقبل تحياتي1 point
-
الحمد لله الذي بنعمته تتم الصالحات أكدت مراراً وتكراراً على أن الموضوع في الرابط التالي هو رقم 1 في تعلم الأساسيات وبه بدأت المدونة وكثيراً ما أشير إليه فهو الأساس وفيه تطبيق لما قمت به أي أنه يجب تطبيق الموضوع بشكل جيد .. والتعرف على بيئة محرر الأكواد والأساسيات بشكل عام الرابط من هنا المهم أنه تم حل المشكلة .. وبفضل الله ثم بفضلك تم طرح موضوع جديد بهذا الخصوص ..ليستفيد الجميع1 point
-
السلام عليكم اسمحو لي بالمشاركة .. واسمح لي استاذنا ياسر ان اقول ان كود حضرتك طويل ايضا .. جرب Private Sub Worksheet_Change(ByVal Target As Range) Dim rng As Range Range("c6:n6").EntireColumn.Hidden = True For Each rng In Range("c6:n6") If rng = [b6] Then rng.EntireColumn.Hidden = False Next End Sub في انتظار كود اقصر .. تقبلو تحياتي1 point
-
رائع بحق أخي الحبيب عبد السلام أبو العوافي أنت مدرسة وحدك .. بارك الله فيك وجزاك الله كل خير ألم أقل لك أنك السهل الممتنع ؟ وهذا أكثر ما يعجبني .. تعجبني الحلول السهلة البسيطة والمميزة والتي تحل المشكلة من جذورها بكل بساطة تقبل وافر تقديري واحترامي1 point
-
1 point
-
1 point
-
تفضل أخي - ان شاء الله هو المطلوب - بعد سؤال استاذ متخصص بالمحاسبة المصنف11.rar1 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
-
Private Sub CommandButton4_Click() Unload Me Application.Visible = True Sheets("s").Select End Sub1 point
-
ممكن أعرف ليه أسماء المراقبين موجود في عمودين ..اعذرني لقلة فهمي فيه معطى مهم جداً مش موجود في الملف المرفق ألا وهو عدد المراقبين المطلوب توزيعهم على كل مدرسة أنا بفترض إن الأسماء في عمود واحد وأسماء المدارس في عمود تاني والأعداد المطلوبة في عمود تالت ... مش كدا ولا أنا غلطان أنا عندي تصور للنتيجة ..إن كل مدرسة ستوضع في رأس كل عمود وأسفل منها يوضع أسماء المراقبين بدون تكرار ..فهل هذا يناسبك؟1 point
-
وفيك بارك الله استاذنا ياسر .. دائما التلميذ يفتخر بالثناء والتشجيع من استاذه1 point
-
وعليكم السلام ورحمة الله وبركاته أخي العزيز عبد العزيز أذكر أنني مكثت أطلع على ملفك فيما يقرب من نصف ساعة أو أكثر بقليل مجرد إطلاع ..لأحاول أن أجد طريقاً أسلك منه إليه ولكن تقف الخلايا المدمجة كما ذكر أخونا أبو عيد عقبة كبيرة .. لا أدري لما اللجوء إلى الدمج ...؟؟أليس هناك حل بديل ..إذ أنه من المعروف أن الدمج عدو الأكواد الأول .. وهذا ليس يعني أن الموضوع مستحيل ولكنه معقد ويحتاج لوقت طويل لمحاولة العمل عليه ، وهذا يجعل من تقديم المساعدة أمر شاق قليلاً على من يريد تقديم المساعدة لم لا يمكن التفكير بإعادة هيكلة الملف بحيث يسهل عليك العمل عليه بشكل عام ، وليس من أجل قضية الموضوع فقط تقبل تحياتي1 point
-
شكرا لك اخي ياسر وفقك الله لكل خير ..تم المطلوب والحمد لله رب العالمين وآسف على عدم الرد السريع لظروف خاصة .. رزقك الله الصحة والعافية1 point
-
حياك الله اخي مصطفى المشكلة والله اعلم هي في التقرير نفسه .. الاحتمال الأول .. حدود التقرير بالطول او العرض اكبر من حد الصفحة .. ستجد علامة خضراء في زاوية التقرير اليسرى. الاحتمال الثاني .. الطابعة .. عندما يكون التقرير في عرض التصميم اختر اعداد الصفحة ومنها اختر طابعة افتراضية وليس طابعة مخصصة . بالتوفيق1 point
-
1 point
-
وعليكم السلام أهك بك أخي في منتدى أوفيسنا وأرجو أن تجد فيه حلا لكل مشاكلك البرمجية أخي فضلا لا أمرا أرجو منك أن تغير اسمك إلى اللغة العربية كما هو المعمول به في هذا المنتدى وليس بالضرورة تفضل جرب هذا المرفق لعله المطلوب Intransit1.rar1 point
-
1 point
-
أخي الكريم أعتقد أنه بالمنتدى موضوعات مماثلة وبرنامج لهذا الغرض قم بإجراء عملية بحث وستجد طلبك إن شاء الله أو يمكن البدء من هذه الموضوعات وتنطلق وتضيف وتسأل فيما يخص طلبك .. والأفضل في أي موضوع يطرح أن يتم إرفاق ملف1 point
-
انسخ هذه المعادلة الى الخلية C2 واسحب نزولاً =if($B2<>"",COUNTIF(Data!C:C,$B2),"")1 point
-
بعد الضغط على طباعة اضغط tab اتفضل التعديل التعديل لو عجبك التعديل اضغط like DataUpdate.rar1 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
-
أخي الحبيب إبراهيم وجب تصحيح نقط معينة وهو أنه لا يجوز الإعلان عن متغير وتعيين قيمة له في نفس السطر 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
-
السلام عليكم ورحمة الله وبركاته الدرس الخامس 5-Colors الالوان وسوف نتناول فى هذه الدرس الاتى استخدام الخاصيه color استخدام الخاصيه ColorIndex استخدام الخاصيه Interior.Color استخدام الخاصيه borders.color استخدام الخاصيه Tab.Color ............................................................. استخدام الخاصيه color تستخدم الخاصيه COLOR فى تلوين الخطوط FONT يجب ان نشير الى اننا حينما نتعامل مع color فاننا نستخدم الخاصيه الخاصه بالالوان RGB سنجد ان قيمة RGB مكونه من ثلاث معطيات هى الاحمر -- الاخضر --الازرق .RGB(red_value, green_value, blue_value) وسوف نقدم بعض القيم والالوان الخاصه ب RGB الان نتعرف على كيفية استخدام هذه الخاصيه فى تلوين الخط نفترض اننا لدينا الاسم HIMA فى الخليه A17 ونريد تلوين الخط باللون الازرق سيكون شكل الكود كالاتى Sub colorfont() Range("a17").Font.Color = RGB(0, 0, 255) ' blue End Sub وطبعا لو عايز تغير اللون لاى لون انت عايزه كل الى عليك ان هتغير الارقام الخاصه بالخاصيه RGB استخدام الخاصيه ColorIndex تستخدم ايضا فى التعامل مع تلوين الخطوط ولكن يتم الاشاره هنا الى الالوان بالارقام العدديه من 1 الى 56 راجع الصوره فمثلا لو لدينا الاسم HIMA فى الخليه A21 ونريد تلوينه باللون الاحمر سيكون شكل الكود كالاتى Sub ColorIndexfont() Range("A25").Font.ColorIndex = 3 'red End Sub استخدام الخاصيه borders.color تستخدم هذه الخاصيه فى تلوين حدود الخلايا وطبعا احنا عرفنا قبل كده ازاى نتعامل مع COLOR عن طريق RGB نفترض اننا عايزن نحدد الحليه B33:D33 باللون الازرق سيكون شكل الكود كالاتى Sub coloredborders() Range("b33:d33").Borders.Color = RGB(0, 0, 255) ' blue End Sub استخدام الخاصيه Interior.Color تستخدم هذه الخاصيه فى تلوين الخلايا وطبعا احنا عرفنا قبل كده ازاى نتعامل مع COLOR عن طريق RGB نفترض اننا عايزين نلون الخلايا من B41:D41 باللون الاخضر سيكون شكل الكود كالاتى Sub backgroundcolor() Range("b41:d41").Interior.Color = RGB(0, 255, 0) ' green End Sub استخدام الخاصيه Tab.Color تستخدم هذه الخاصيه فى التعامل مع تبويب الشيتات Sub colorwsheettab() Sheets("5-Colors").Tab.Color = RGB(0, 0, 255) ' blue End Sub فلو احنا عايزين نلون تبويب الشيت المسمى ب 5-Colors باللون الازرق مثلا هيكون شكل الكود كالاتى Sub colorwsheettab() Sheets("5-Colors").Tab.Color = RGB(0, 0, 255) ' blue End Sub اتمنى ان يكون الدرس مفيدا مرفق شيت اكسيل به التطبيقات learnvba.rar تقبلوا تحياتى learnvba.rar1 point
-
1 point
-
السلام عليكم ورحمة الله وبركاته الدرس الثالث 3-selection عمل تحديد للخلايا وسوف نتناول فى هذه الدرس الاتى كيفيةالدخول الى محرر الاكواد كيفية تسمية الماكرو تحديد خليه واحده تحديد اكثر من خليه تحديد نطاق من الخلايا تحديد نطاق من الخلاياالتى تم اعطائها اسم تحديد خليه بواسطه السطر والعمود تحديد خليه تقع ضمن نطاق الخلايا تحديد خليه بواسطة التحرك تحديد الاسطر تحديد الاعمده تحديد اخر خليه تحديد الخلايا التى بها بيانات نسخ البيانات المحدده ........................................... كيفية الدخول الى محرر الاكواد وذلك من اجل اضافة كود معين اتبع الصوره 1 ستفتح لك نافذه بيضاء فارغه كما فى الصوره رقم 2 كيفية تسمية الماكرو لابد ان يبدأ اسم الماكرو ب Sub وينتهى ب end sub نقوم باعطاء الماكرو اسم معين وليكن selection بالتالى ستجد ان الماكرو المنشأ يكون بهذا الشكل كما يتضح من الصوره تحديد خليه واحده نفترض اننا نريد تحديد الخليه A23 سيكون شكل الكود كالاتى Sub selection_a23() 'تحديد الخليه A23 Range("A23").Select End Sub تحديد اكثر من خليه نفترض اننا نريد تحديد الخليهa25 وb25 سيكون شكل الكود كالاتى Sub selection_a25_b25() 'تحديد الخليه a25,b25 Range("A25,B25").Select End Sub تحديد نطاق من الخلايا نفترض اننا نريد تحديد تحديد الخلايا من a27 الى g28 سيكون شكل الكود كالاتى Sub selection_a27tog28() 'تحديد نطاق من الخلايا Range("A27:g28").Select End Sub تحديد نطاق من الخلاياالتى تم اعطائها اسم نفترض اننا نريد تحديد الخلايا من a29:g30 سوف نقوم بعمل ذلك من خلال تسمية النطاقات اتبع الصوره سيكون شكل الكود كالاتى Sub select_a29tog30() ' تحديد نطاق من الخلاياالتى تم اعطائها اسم ' من a29 الى g41 Range("select_a29tog30").Select End Sub تحديد خليه بواسطه السطر والعمود نفترض اننا نريد تحديد الخليه الواقعه بين السطر 44 والعمود 4 اى d44 وسيكون شكل الكود كالاتى Sub selection_cells_r_c() ' تحديد الخليه الواقعه بين السطر 44 والعمود 4 اى d44 Cells(44, 4).Select End Sub ملحوظه بما اننا لم نتطرق الى التعرف على cells فنعدى عليها نتعرف عليها ببساطه cells زيها زى range الفرق بينها وبين range انها تستخدم للاشاره الى خليه واحده فقط ويكون شكلها الافتراضى كالاتى Cells(row, Columns).Select تحديد خليه تقع ضمن نطاق من الخلايا هنا نفترض اننا لدينا نطاق مكون من مجموعه من الخلايا من a47:g47 ونريد عند كل مره يتم الظغط على الزر يتم تحديد خليه مختلفه من خلايا النطاق سيكون شكل الكود كالاتى Sub selection_rnd() 'تحديد نطاق من الخلايا التى تقع فى النطاق من a47 الى a57 'Cells(Int(Rnd * 10) + 47, 1).Select ' تحديد خليه تقع ضمن نطاق الخلايا من a47 الى g47 Cells(47, Int(Rnd * 7) + 1).Select End Sub لاحظ ان عدد الاعمده 10 اعمده هى من a الى g تحديد خليه بواسطة التحرك نفترض اننا نريد تحديد الخليه التى تلى الخليه a51 بمقدار سطرين وفى نفس العمود سوف نستخدم هنا offset سيكون شكل الكود كالاتى Sub selection_move() ' تحديد الخليه التى تلى الخليه a51 بمقدار سطرين وفى نفس العمود Cells(51, 1).Offset(2, 1).Select End Sub ملاحظه بما اننا لم نتطرق الى offset فنتعرف سريعا على كيفيه استخدامها offset هى عباره عن التحرك لاتجاه معين الشكل الافتراضى ل offset Offset(row,columns) فلو كتب هكذا Offset(1,2) فهذا يعنى اننا سوف ننتقل الى الخلية فى السطر التالى وفى العمود الذى يليها بعمودين وهكذا فمثلا فى مثالنا هنا Cells(51, 1).Offset(2, 1).Select فلو حزفنا offset واصبح الكود بهذا الشكل Cells(51, 1).Select فهذا يعنى اننا سوف نقوم بتحديد الخليه a51 ثم حينما نضيف offset ليصبح الكود بهذا الشكل Cells(51, 1).Offset(2, 1).Select فهذا يعنى اننا سوف نقوم بتحديد الخليه a51 ثم نتحرك بمقدار سطرين لاسفل اى اننا اصبحنا الان فى السطر 53 ثم التحرك بمقدار عمود واحد لنصبح فى العمود الثانى وبما اننا اصبحنا فى السطر 53 والعمود 2 سنجد ان الخليه التى تقع فيهما هى الخليه b53 تحديد الاسطر نفترض اننا نريد تحديد الاسطر من 53 الى 54 سيكون شكل الكود كالاتى Sub selection_row() ' تحديد الاسطر من 53 الى 54 Rows("53:54").Select End Sub تحديد الاعمده نفترض اننا نريد تحديد الاعمده من العمود a الى العمودG سيكون شكل الكود كالاتى Sub selection_COL() ' تحديد الاعمده Columns("A:G").Select End Sub تحديد اخر خليه نفترض اننا لدينا مجموعه من الخلايا فى السطر الاول مملوؤه بالبيانات وان اول خليه بها بيانات هى الخليه a58 ونريد الوصول الى اخر خليه بها بيانات بعد الخليه a58 سيكون شكل الكود كالاتى Sub SELECTLASTCELLS() ' تحديد اخر خليه بها بيانات Range("A58").End(xlDown).Select End Sub تحديد الخلايا التى بها بيانات بداية من خليه معينه نفترض اننا نريد تحديد الخلايا التى بها بيانات بداية من الخليه a62 سيكون شكل الكود كالاتى Sub SELECTCELLSDATA() ' تحديد الخلايا التى بها بيانات بداية من Range("A62", Range("A62").End(xlDown)).Select End Sub اتمنى ان يكون الدرس مفيدا مرفق شيت اكسيل به التطبيقات learnvba.rar تقبلوا تحياتى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
-
ليس هناك اكوادا بل هناك خطوط وأداة يتم اضافتها للبرنامج وقد قرأت هنا لبعض الأخوة طريقة سهلة وجميلة واقتصادية عن طريق الوورد وبالطابعة الافتراضية العادية والورق العادي لطباعة الملصقات ’ فلا بد من الاشارة اليها عند الكتابة عن هذا الموضوع ولعلي استطيع جمع ما لدي من امثلة وملحقات فأسأل الله العون في ذلك . .1 point
-
اخي الكريم كل عام وأنت بخير جهاز الباركود يمكن ربطه على اي برنامج فهو يعمل نيابة عن لوحة المفاتيح يعني بديل للوحة المفاتيح ، وبمعنى أوضح : هو يقرأ الرقم على المنتج ويرسله الى البرنامج . وبتوضيح أكثر : اي برنامج مصمم بحيث انك لما تدخل كود الصنف تظهر البيانات والعمليات المصاحبة، فهذا البرنامج جاهز لربطه بجهاز الباركود لعل هذه المعلومات المقتضبة تعطي التصور الصحيح لطريقة عمل الباركود1 point