نجوم المشاركات
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
-
جميل أخي الغالي عبد السلام .. بس متنساش إنك بتتعامل مع التغير في حدث ورقة العمل .. فكدا الكود هيتنفذ مع كل تغير في ورقة العمل لأنك لم تحدد الخلية التي تريد على أساسها إحداث التغير .. وثانياً يفضل إلغاء خاصية 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
-
نضع الكود التالي عند تحميل التقرير Private Sub Report_Load() If aaa.Value = 0 Then MsgBox "لا يوجد كذا", vbOKOnly, "لا يوجد" DoCmd.Close acReport, "اسم التقرير" End If End Sub على فرض ان الحقل aaa هو حقل عدد السجلات ...1 point
-
أخي الكريم أحمد تعرف أنه لولا أخي سليم ما كنت وضعت الإجابة ..حيث انني لم أفهم المطلوب إلا عندما اطلعت على ملفه .. الأخ سليم من عمالقة المنتدى وكل أعماله رائعة ومميزة ، وأنا أحب الاحتفاظ بملفاته عندي في المكتبة التي لدي لا حرمنا الله منه أبداً والحمد لله أن تم المطلوب على خير ..والحمد لله الذي بنعمته تتم الصالحات1 point
-
تفضل أخي - ان شاء الله هو المطلوب - بعد سؤال استاذ متخصص بالمحاسبة المصنف11.rar1 point
-
التعديل السابق لا يمكن الترحيل اذا تشابه ثلاثة اشياء اليوزر والسنة والشهر اذا تغير واحد منها يمكن الترحيل هذا الذي انا اعمله مع المرتبات الشهرية ولسنا بحاجة الى رسائل لان المسألة محكمة و لن يتم الترحيل هل جربت المثال جيدا ؟ حاول ان ترحل البيانات نفسها مرتين او ثلاثة لن يتم تكرار الترحيل وفي الوقت نفسه حاول ان تغير في احد الحقول الثلاثة بالطبع سيقبل الترحيل اذا فحصت المثال جيدا سوف نأتي للرسالة : بالنسبة للرسالة فالصحيح ان يتأكد عند الترحيل المكرر ويخرج رسالة انه تم الترحيل سابقا هل تريد حذف الترحيل السابق والترحيل من جديد مرة اخرى ، وهذه نستخدمها عند ما نقوم بتحديث بيانات سابقة حين نرحلها ويوجد فيها اخطاء1 point
-
أخي الفاضل أحمد أنصحك بتجميع الفكرة بشكل جيد بحيث يمكنك التعامل مع الملف بشكل أفضل .. وإن شاء الله بالصبر والمثابرة تحصل على المطلوب وأفضل مما تتوقع .. فقط الصبر والتركيز في نقطة واحدة في كل مرة لينتهي العمل بشكل جيد وأنصح عدم استخدام المعادلات قدر الإمكان فالأكواد أسرع في التنفيذ وأخف للملف طالما أنك تنوي عمل برنامج للفكرة1 point
-
لا حرمنا الله من علمكم وجميل اخلاقكم وحسن توجيهكم أخوتنا الكرام1 point
-
1 point
-
بارك الله فيك أخي الكريم وائل شعبان وجزاك الله خيراً .. ومشكور على محاولة تقديم المساعدة إخوانك .. وصدقني بالانخراط في موضوعات الأعضاء ستكتسب الخبرة والعلم مع الوقت ..هكذا تعلم معظمنا تقبل تحياتي1 point
-
Private Sub CommandButton4_Click() Unload Me Application.Visible = True Sheets("s").Select End Sub1 point
-
السلام عليكم كما اسلف الاخوة بان الترحيل صعب ويحتاج الى وقت وليس مستحيل .. ارفق لك ملف قمت بعمل كود الترحيل قبل فترة في احد الجروبات .. قد يكون هناك تشابه بينه وبين ملفك .. اتمنى ان يساعدك في ايجاد الحل ترحيل.rar1 point
-
وفيك بارك الله استاذنا ياسر .. دائما التلميذ يفتخر بالثناء والتشجيع من استاذه1 point
-
أخي العزيز ..أحمد إذا كنت قد قرأت الاسم بشكل صحيح أنا لست في غضب منك على الإطلاق ..أحببت فقط أن أوضح لك ما ينفعك في الحلول السريعة والمضمونة والتي تنجز العمل بشكل أسرع فالتوضيح بملف مرفق وبه شكل النتائج المتوقعة يوفر الوقت والجهد بشكل كبير جداً (وعلى رأي المثل اسأل مجرب ولا تسأل طبيب) إذا كنت أطلب التوضيح والملف المرفق وشكل النتائج المتوقعة فهذا من مصلحة السائل وليس من مصلحتي على الإطلاق .. فأنا ببساطة يمكنني عدم الرد كما يقعل معظم الأعضاء وأقف مكتوفي الأيدي ولا أفعل شيئاً إلى أن يقدم العضو كل التوضيح الممكن وبعدها أقدم المساعدة ولكني أفضل حتى ولو لم يكن لدي علم بالأمر أو المسألة أن أساهم في رفع الموضوع ورفع الحرج عن الأخوة بأنني أطلب التوضيح .. وها أنا ذا أطلب ملف مرفق للمرة مش عارف الكام .. وكأنني أطلب المستحيل .. أخي وحبيبي ارفق ملف وإن شاء الله سيكون لديك الحل في خلال ربع ساعة بإذن الله ، فقد وفقني الله في الوصول لبعض الحل ولكن يلزمني ملف مرفق فيه أسماء الملاحظين وأسماء المدارس وعدد الملاحظين المطلوبين لكل مدرسة ..كل بيان في عمود .. وإن شاء الله استبشر خيراً .. وأشكرك على كلماتك الرقيقة في حقي ، ولتعلم أنني والله لست بعالم كبير في هذا المجال إنما أنا متعلم ، وأقوم بطرح المئات من الأسئلة في المنتديات الأجنبية وأبحث هنا وهناك للحصول على معلومة أفيد بها إخواني ..فليس كل ما أقدمه لي .. فأنا مجرد باحث وطالب علم مجتهد مثلي مثل غيري من الأعضاء وفيما يخص الأكسس أو الإكسيل أنا لا مشكلة عندي من الأمر ..أنا فقط أريد أن يكون كل شيء في مكانه الصحيح ، فالموضوع الذي يكون حله بالإكسيل يطرح في قسك الإكسيل ، والموضوع الذي يكون حله في قسم الأكسس يطرح في قسم الأكسس ..فقط للتمييز ونشكر أخونا الحبيب هاني على المجهود الجبار الذي يبذله في مساعدة الأعضاء .. ولكن يجب التنويه على العضو بأن يقوم بطرح الموضوع في القسم المناسب ، أو يتم التنويه لنقل الموضوع للقسم المناسب .. فإذا كنت ما زلت تريد التعامل مع الأكسس قمت بنقل الموضوع لقسم الأكسس حيث يشارك فيه خبراء الأكسس هناك .. تقبل تحياتي1 point
-
وعليكم السلام ورحمة الله وبركاته أخي العزيز عبد العزيز أذكر أنني مكثت أطلع على ملفك فيما يقرب من نصف ساعة أو أكثر بقليل مجرد إطلاع ..لأحاول أن أجد طريقاً أسلك منه إليه ولكن تقف الخلايا المدمجة كما ذكر أخونا أبو عيد عقبة كبيرة .. لا أدري لما اللجوء إلى الدمج ...؟؟أليس هناك حل بديل ..إذ أنه من المعروف أن الدمج عدو الأكواد الأول .. وهذا ليس يعني أن الموضوع مستحيل ولكنه معقد ويحتاج لوقت طويل لمحاولة العمل عليه ، وهذا يجعل من تقديم المساعدة أمر شاق قليلاً على من يريد تقديم المساعدة لم لا يمكن التفكير بإعادة هيكلة الملف بحيث يسهل عليك العمل عليه بشكل عام ، وليس من أجل قضية الموضوع فقط تقبل تحياتي1 point
-
أخي العزيز مهند الحمد لله أن تم المطلوب على خير .. وأعتذر لإلحاحي في طلب الكود أو لرابط الموضوع ..لأنني بالفعل لا أحفظ أكواد على الإطلاق ..إنما يمن الله علي بكتابة كود واقتباس من كود آخر إلى أن يمن الله علي بالانتهاء من الكود المطلوب بالشكل المطلوب وأطرح الحل أو الموضوع وربما أنسى الكثير مما كتبته ... فقد كتبت الكثير لدرجة أنني أنسى أنني كتبت هذا الكود أو ذاك ... والله وحده يعلم بحالي الحمد لله الذي بنعمته تتم الصالحات ... وفقني الله وإياك لكل خير تقبل تحياتي1 point
-
بارك الله فيك أخي العزيز عبد السلام حلولك بسيطة ومميزة ورائعة للغاية ..أنت تمثل السهل الممتنع جزاك الله خير الجزاء1 point
-
شكرا لك اخي ياسر وفقك الله لكل خير ..تم المطلوب والحمد لله رب العالمين وآسف على عدم الرد السريع لظروف خاصة .. رزقك الله الصحة والعافية1 point
-
حياك الله اخي مصطفى المشكلة والله اعلم هي في التقرير نفسه .. الاحتمال الأول .. حدود التقرير بالطول او العرض اكبر من حد الصفحة .. ستجد علامة خضراء في زاوية التقرير اليسرى. الاحتمال الثاني .. الطابعة .. عندما يكون التقرير في عرض التصميم اختر اعداد الصفحة ومنها اختر طابعة افتراضية وليس طابعة مخصصة . بالتوفيق1 point
-
1 point
-
وعليكم السلام أهك بك أخي في منتدى أوفيسنا وأرجو أن تجد فيه حلا لكل مشاكلك البرمجية أخي فضلا لا أمرا أرجو منك أن تغير اسمك إلى اللغة العربية كما هو المعمول به في هذا المنتدى وليس بالضرورة تفضل جرب هذا المرفق لعله المطلوب Intransit1.rar1 point
-
1 point
-
السلام عليكم الأستاذ الحبيب ابراهيم أبو ليلى تماما كإني جالس بدورة VBA بل أفضل بمليون مرة جهزت ملف إكسل وبدأت بالأكواد التي تشرحها واحد واحد فأنا مبتدىء بهذا المجال وإذا بتكمل معنا بهالطريقة الروعة راح تخرَج طلاب على مستوى ممتاز الرجاء المتابعة الله محيي أصلك يا ملك وفقك الله وجعل كل هذا في ميزان حسناتك1 point
-
انسخ هذه المعادلة الى الخلية C2 واسحب نزولاً =if($B2<>"",COUNTIF(Data!C:C,$B2),"")1 point
-
بعد الضغط على طباعة اضغط tab اتفضل التعديل التعديل لو عجبك التعديل اضغط like DataUpdate.rar1 point
-
السلام عليكم ورحمة الله أخي الكريم، الملف الذي تعمل عليه ملف من صنعي... وقد قمت ببعض التعديلات عليه في نسخته الأخيرة... بالنسبة لكلمة السر التي تبحث عنها هي : hb (للشيتات أو VBA) والتي تم وضعها فقط حتى لا تُحذف أو تُمسح معادلاته أو أكواده... ولك كل الحرية في الاستفادة أو التعديل على الملف بما يناسبك... وإن شاء الله تجدني في الخدمة بما تريده... أخوك بن علية1 point
-
وجزيت خيراً بمثل ما دعوت لي أخي الكريم أشرف ندعوك لتغيير اسم الظهور للغة العربية وأهلاً بك في المنتدى في عائلتك الثانية تقبل تحياتي1 point
-
اخى السيفانى ان شاء الله سيتم استكمال الموضوع ثم بعد ذلك يتم تنقيح الموضوع ارجو التماس العزر فى التأخير وفى توقف الدروس ولكن ان شاء الله فى القريب نستكمل باقى الدروس تقبل تحياتى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
-
السلام عليكم ورحمة الله وبركاته الدرس الخامس 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
-
في المرفات خطوط الباركود والآداة ومثال اكسس ومثال وورد لطباعة الملصقات خارج اكسس ومفكرة تعليمات زيادة على الملاحظات والتعليمات في ثنايا الامثلة الموضوع قد اشبع بحثا وطرحا في المنتديات المتخصصة لمن اراد الاستزادة Barcode.rar1 point
-
اخي الكريم كل عام وأنت بخير جهاز الباركود يمكن ربطه على اي برنامج فهو يعمل نيابة عن لوحة المفاتيح يعني بديل للوحة المفاتيح ، وبمعنى أوضح : هو يقرأ الرقم على المنتج ويرسله الى البرنامج . وبتوضيح أكثر : اي برنامج مصمم بحيث انك لما تدخل كود الصنف تظهر البيانات والعمليات المصاحبة، فهذا البرنامج جاهز لربطه بجهاز الباركود لعل هذه المعلومات المقتضبة تعطي التصور الصحيح لطريقة عمل الباركود1 point