بحث مخصص من جوجل فى أوفيسنا
![]()
Custom Search
|
نجوم المشاركات
Popular Content
Showing content with the highest reputation on 03/06/16 in مشاركات
-
السلام عليكم ورحمة الله وبركاته بدايةً أحيي كل إخواني بالمنتدى وأسأل الله لهم دوام الصحة والعافية إنه لمن الغريب والعجيب أن يقوم مبتدئ في عالم البرمجة بعمل دورة ، ولكنها إخواني فكرة خطرت ببالي كي نتعلم سوياً ونستفيد من بعضنا البعض كل إناء ينضح بما عنده لكي نستزيد!! أود أن أنوه إلى أن هذا الموضوع لن يكون حكراً علي ولكن كل من عنده فكرة يقوم بطرحها للمناقشة كي نصل سوياً إلى مستوى ( لن أقول متقدم ) بل مستوى يرنو بنا إلى فهم عالم الأكواد ،هذا العالم الشيق والممتع . . . . . . . . . تقوم الفكرة التي ستساعدونني في تنفيذها على ترجمة أي من الكتب الأجنبية القوية في مجال VBA ، وقد سبق أن طلبت من الأخ يحيى كتاب يحقق لنا ذلك ، إلا أنه ربما لم يلتفت لطلبي أو نسيه - أسأل الله له الجنة فعلى الأخوة ترشيح كتاب نبدأ به حتى تكون الأفكار متسلسلة وواضحة لمن أراد التعلم سيقول البعض أن الأخ أبو هاجر المصري يقوم بذلك في دورته ، أرد قائلاً : هذه الدورة ستكون للمبتدئين أمثالي أي من تحت الصفر ونسير فيها رويداً رويداً حتى نصل إلى إتقان التعامل مع VBA أود من إخواني مدنا بيد العون خاصةً مشرفي المنتدى وجهابذة الإكسيل ** ملحوظة : أنا ضعيف جداً في البرمجة عشان محدش يسألني أنا شخصياً ، أي استفسار حيكون موجه للجميع تمنياتي بالتوفيق والنجاح في هذه الدورة *** تم تجميع الدروس الخاصة بهذه الدورة في آخر مشاركة بالموضوع ، والانتقال لدورة جديدة بعنوان (افتح الباب وادخل لعالم البرمجة)2 points
-
اخ محسن انا متطفل هنا وعلى اساتذة الاكسل ولكن بعد اذنهم جميعا صحيح الاستهداف هي لتغيير خلية واحدة وبلغة الرياضيات هي طريقة لحل معادلة بمتغير واحد اما بالنسبة لطلبك وبتغير اكثر من خلية فهناك اداة السولفر solver وهي اصلا لها استخدامات كثيرة واكثر تعقيدا من حل معادلة باكثر من متغير هنا عليك اولا ان تبحث وتقوم باضافتها في علامة تبويب البيانات ثم حاول استخدامها ! واعتقد ان لديك نسخة الاوفيس 2013 من خلال ملف اختر خيارات ثم add on وستجد السولفر ضمن النافذة ... قم باضافتها ومحاولة استخدامها مشي الحال معاك اوك .. او عد وسنعود باذن الله سائلا الله التوفيق للجميع وهذه روابط بالمنتدى بالتوفيق2 points
-
تغمروني بطيب تواصلكم ومساعدتكم الراقية شكراً أستاذ رجب ... شكراً استاذ ياسر افتخر انني بأن أكون فرد من عيلة هذه المنتدى الراقي شكراً لمساعدتكم2 points
-
أخي الكريم صلاح المصري ... إليك الملف المرفق التالي فيه .... تطبيق عملي لاستخدام المصفوفات في عمليات الترحيل من خلال تخزين عناوين النطاقات المراد ترحيلها في مصفوفة حمل الملف من هنا2 points
-
وعليكم السلام ورحمة الله وبركاته استاذ رمهان سقى الله ارض نور وجهك صبحها ... وفي الليل البهيملها بدرُ . حياك الله استاذي العزيز .. وكيف لا ترتجى فيك وانت من انت . زادك الله من فضله وعلمه وتقواه جعل قضاء حوائج الكرام على يديك . استاذي العزيز يبقى السؤال سجية السائل وهو اعرف بما يحتاجه لك مني خالص الاحترام وفائق التقدير2 points
-
حياك الله انا شخصيا لا أميل الى تغيير إعدادات جهاز العميل ، ودقة الشاشة هي احد تلك الاعدادات ، فانا مستخدم ، واستعمل مجموعة برامج في نفس الوقت ، ومتأقلم على هذا الوضع ، ويجيني مبرمج يغير اعداداتي ، واويلاه فجدا مهم ان القى بدائل لبرامجي ، عن طريق برامجي ، ولبرامجي فقط ، وبدون تغيير اعدادات الكمبيوتر او الريجستري جعفر2 points
-
السلام عليكم انا لا خبرة لي في هذا الموضوع ، ولكنه احد المواضيع المتداولة كثيرا ، Form Resizer انت في الواقع تريد: https://www.fmsinc.com/microsoftaccess/controls/components/form-resizer/index.html الاكسس 2010 له طريقة تستطيع ان تكبر/تصغر احجام حقول معينة في حال تكبير/تصغير الشاشة ، عن طريقة Anchoring ، مثل حقل Notes في الرابط التالي: http://www.appliedoffice.net/news/2009-may/access.html وهنا امثلة يمكن انزالها لتكبير/تصغير النموذج كاملا: http://jamiessoftware.esy.es/resizeform/afr.zip http://jamiessoftware.esy.es/articles/resolution.html http://www.databasejournal.com/features/msaccess/article.php/3689226/Auto-Resize-Access-Subforms.htm جعفر2 points
-
عزيزي ومع اني اشك ان هناك طريق اقصر لما تريد ولكن كحل لمشكلة ظهور الرسالة في المعيار للاستعلام استبد المعيار السابق بالتالي [Forms]![S1M]![اسم الطالب] بالتوفيق2 points
-
السلام عليكم تفضل أخى استخدم المعادلة الآتية للتنسيق الشرطى فى حالة الحضور =INDEX(B2:B14;MATCH(B20;A2:A14;0))="حضر" والمعادلة الآتية فى حالة عدم الحضور =INDEX(B2:B14;MATCH(B20;A2:A14;0))="لم يحضر" حضور.rar2 points
-
إخواني الأعزاء السلام عليكم ورحمة الله وبركاته برنامجي الصغير والسريع للحماية برقم القرص الصلب أهديه إلى إخواني المبرجين المبتدئين في عالم الأكسس ملحوظة : نموذج التسجيل لا يظهر إلا مرة واحدة عند بداية التسجيل ثم يختفي كل ما عليك هو استيراد نموذج التسجيل ونموذج الترحيب والجدول إلى برنامجك ( لا تنسى تعديل اسم النموذج الرئيسي داخل الكود والذي هو في المثال "QQ" وتستبدله باسم النموذج الرئيسي في برنامجك المعادلة : ( رقم التسجيل = رقم النسخة + 55 * 2 ) وبإمكانك التعديل داخل الكود كما تشاء أمل أن يحوز على القبول والرضا فلا تنسوني من صالح دعائكم . تقبلوا تحياتي ،،، حماية برقم القرص يظهر مرة واحدة.rar1 point
-
بسم الله الرحمن الرحيم وبه نستعين إخوانى الاعزاء السلام عليكم ورحمته الله وبركاته بناءا على طلب أحد الزملاء الافاضل بهذا الصرح المبارك عبرالخاص وحتى تعم الفائده للجميع أقدم لسيادته وللساده الاعضاء هذا البرنامج وهو يصلح للسادة العاملين بمصانع القطاع الخاص حيث تم ربط الاجر بالحضور والانصراف ويتم التسجيل هنا بصفة يومية وعلى مدار شهرالاستحقاق لكل عامل وهو مقسم على ثلاثة مراحل حسب وضع كل عامل بهذا المصنع المرحلة الاولى مرتبطة بالاجر الاساسى الشهرى المتفق عليه وهو محدد بعدد الساعات الاصلية للعمل المرحلة الثانية مرتبطة بالاجرالاضافى وهناك إحتمالية لحدوث ذلك حسب ظروف كل عامل المرحلة الثالثة مرتبطة بالاجرالاضافى للسهرات الليلية وهناك إحتمالية لحدوث ذلك حسب ظروف كل عامل يشمل البرنامج أيضا الجزاءات التى تقع على العامل ويمكن تعديلة حسب نظام كل شركة يشمل البرنامج أيضا اأيام الغياب لكل عامل بالشركة ففى حالة سماح أيا من رصيد العامل لآجازنه الاعتيادية أو أجازنه العارضة فلايتم خصم أية مبالغ من هذا العامل إلا فى حالة نفاذ تلك الارصدة فتقع عليه أيام الغياب بالخصم يشمل أيضا السلف الذى يتقاضاها العامل على مدارالشهرعلى أن يتم خصمها من اجمالى راتبه اليومى وهناك المزيد نسألكم الدعاء.... تقبوا وافر احترامى .... وجزاكم الله خيرا1 point
-
السلام عليكم ورحمة وبركاته .. في المرفق يتم استخراج بيانات الجهاز .. المعالج + الماذر بورد + الهارد ديسك اتمنى ان يفيد من يبحث عنه ... ولا نستغني ابدا عن توجيهات خبرائنا الكرام .. ونقاش الأخوة اعضاء المنتدى الحبيب وتبادل وجهات النظر وكذلك من له تجارب مع الموضوع. بالتوفق للجميع MyProtect.rar1 point
-
السلام عليكم ورحمة الله وبركاته إخواني وأحبابي في الله .. بصراحة أعجز عن البداية في هذا الموضوع نظراً لكثرة المعلومات في هذا الموضوع وتشعب الموضوع بشكل كبير ، ويرجع هذا التشعب إلى أهمية الموضوع لأن العمل بالمصفوفات يجعل الأكواد تكون أسرع بكثير من التعامل بالأكواد العادية خصوصاً مع البيانات الكثيرة .. الموضوع سيكون مستمر بإذن الله .. فأنا أؤمن بالحكمة التي تقول : قليل دائم خير من كثير منقطع .. سنبدأ في تناول الموضوع جزء جزء لكي نستطيع أن نهضم سوياً الموضوع ، ونستفيد من هذا الموضوع أقصى استفادة ممكنة نبطل رغي ونبدأ في المهم يعني ايه مصفوفة Array ؟ قبل ما نتعرف على المصفوفة .. عرفنا في دورة افتح الباب وادخل لعالم البرمجة "المتغير Variable" وقلنا إن المتغير وظيفته إنه بيخزن قيمة (سواء القيمة دي نص أو رقم أو تاريخ أو أي نوع من أنواع البيانات) .. بس المتغير بيخزن قيمة واحدة مثال : لو عايز أخزن القيمة النصية Officena Forums في متغير كنا بنعمل ايه ..؟! بنعلن عن المتغير من النوع النصي في سطر وفي السطر التالي بنقوم بتعيين قيمة للمتغير .. Sub StringVariable() Dim str As String str = "Officena Forums" End Sub طيب عشان نتأكد إن شغلنا مضبوط عايزين نعرف المتغير دا تم تخزين القيمة النصية فيه ولا لا .. ممكن نستخدم طريقة من اتنين : الطريقة الأولى باستخدام MsgBox لإظهار رسالة للمستخدم بقيمة المتغير .. MsgBox str الطريقة التانية ودي مهمة جداً لأننا هنستخدمها أثناء شرح المصفوفات لمتابعة تنفيذ أسطر الكود .. الطريقة باستخدام Debug.Print Debug.Print str طيب الطريقة دي هتظهر لنا إزاي : هتظهر النتائج في نافذة اسمها النافذة الفورية Immediate Window (طيب دي أجيبها منين وإزاي؟!) روح للقائمة الموجودة في محرر الأكواد وانقر على View هتلاقي Immediate Window أو باختصار من لوحة المفاتيح اضغط على Ctrl + G .. هتظهر النافذة الفورية في أسفل محرر الأكواد .. جرب الكود بالشكل الكامل بهذا الشكل Sub StringVariable() Dim str As String str = "Officena Forums" MsgBox str Debug.Print str End Sub طيب لما نحب ننفذ الكود يا ريت لا يتم التنفيذ مرة واحدة من خلال الأمر Run .... عايز التنفيذ يتم واحدة واحدة وسطر بسطر عشان تتعلموا إزاي تتابعوا عمل الكود .. عشان ننفذ الكود سطر بسطر ونتابع عايزين نظهر نافذة تانية كمان اسمها Local Window وبردو من نفس القائمة View وحاول تظبط النافذتين بحيث يكونوا بجانب بعضهم البعض كما في الصورة بحيث تتابع التنفيذ خلينا عمليين ونطبق أول بأول : روح لمحرر الأكود وأدرج موديول وانسخ الكود وأظهر نافذة Local Window والنافذة الفورية وضع مؤشر الماوس داخل الكود في اي سطر واستعد للانطلاق (على السادة المبرمجين ربط الأحزمة وشحذ الهمة والتركيز) اضغط F8 من لوحة المفاتيح هتلاقي أول سطر Sub StringVariable اتلون باللون الأصفر .. هنا بيتم الإعلان عن المتغيرات (بص في نافذة اللوكال) هتلاقي اسم المتغير str في عمود اسمه Expression ، وقيمته "" في عمود اسمه Value (طبعاً لسه فراغ لأن لسه مخزناش فيه حاجة) ، ونوعه String في عمود Type .. يعني ببساطة عرفنا تاريخ حياته في اللحظة دي ..عرفنا اسمه وقيمته ونوعه (الكلام دا رغم إنه ملوش علاقة بموضوع المصفوفات لكنه مهم جداً عشان نفهم إزاي نتعامل مع محرر الأكواد بشكل احترافي ونعلم نفسنا إزاي الكود بيتم تنفيذه) نضغط F8 تاني (هنا مفيش حاجة حصلت) السطر الأصفر انتقل للسطر ده str = "Officena Forums" ولكن محصلش أي تغيير في نافذة اللوكال ..دا لأن التغيير بيحصل لما بخرج من السطر الأصفر .. اضغط F8 للمرة التالتة وشوف نافذة اللوكال ولاحظ قيمة المتغير .. اتغيرت القيمة من فراغ إلى النص Officena Forums اضغط F8 للمرة الرابعة هتظهر لك رسالة فيها قيمة النص اضغط F8 للمرة الخامسة هيظهر قيمة المتغير في النافذة الفورية اضغط F8 للمرة السادسة والأخيرة على سطر End Sub لإنهاء الإجراء الفرعي بكدا نكون عرفنا إزاي هنتعامل مع تنفيذ الكود أثناء الدورة ... طولت في النقطة اللي فاتت شويتين بس كان لازم منها عشان ننتقل إلى مرحلة الاحترافية في التعامل مع الأكواد *************** طيب سؤال ايه علاقة المتغير بالمصفوفة؟ الإجابة إن المصفوفة متغير بس مش بيخزن قيمة واحدة (دا بيخزن مجموعة من المتغيرات دفعة واحدة) مثال عملي لفهم المصفوفة بشكل أعمق ::: نفترض أن لدينا 5 طلاب وليهم درجات ..نروح لورقة العمل ونكتب 5 أسماء بدرجاتهم كما بالشكل التالي نروح لمحرر الأكودا وننفذ الكود التالي ..الكود مش محتاج شرح الكود بسيط جداً Sub StudentMarks() With ThisWorkbook.Worksheets("Sheet1") 'الإعلان عن متغير لكل طالب Dim Student1 As Integer Dim Student2 As Integer Dim Student3 As Integer Dim Student4 As Integer Dim Student5 As Integer 'تعيين قيم المتغيرات من الخلايا المشار إليها Student1 = .Range("B1").Offset(1) Student2 = .Range("B1").Offset(2) Student3 = .Range("B1").Offset(3) Student4 = .Range("B1").Offset(4) Student5 = .Range("B1").Offset(5) 'طباعة الدرجات في النافذة الفورية Debug.Print "درجات الطلاب" Debug.Print Student1 Debug.Print Student2 Debug.Print Student3 Debug.Print Student4 Debug.Print Student5 End With End Sub أول سطر في الكود عشان نتعامل مع المصنف الحالي الذي يحتوي الكود .. والتعامل هيكون مع ورقة العمل Sheet1 ... الجزء الأول بيتم الإعلان عن المتغيرات لدرجات الطلاب من النوع Integer أي عدد صحيح (طبعاً دا مجرد مثال .. لأن الدرجات من المفترض إنها تكون Double لأن أكيد بيكون فيه كسور)>>المهم الجزء التاني بيتم تعيين قيم للمتغيرات (الدرجات) انطلاقاً من الخلية B1 ... بإزاحة بمقدار صف واحد لأسفل هيجيب قيمة الخلية B1 ... بإزاحة بمقدار صفين هيجيب الخلية B3 وهكذا الجزء التالت هيطبع درجات الطلاب في النافذة الفورية لتكون النافذة الفورية بهذا الشكل طيب المثال اللي فات 5 طلاب ..طيب لو عندي 100 طالب .. 500 طالب .. 1000 طالب .. 10000 طالب (هل سيكون التعامل مع طالب طالب ..؟؟ دا أكيد انتحار ) من هنا تأتي أهمية المصفوفة لتخزين جميع القيم في متغير واحد فقط .. يعني المصفوفة هتخليني أخزن القيم (درجات الطلاب) في متغير واحد فقط Sub StudentMarksArr() With ThisWorkbook.Worksheets("Sheet1") 'الإعلان عن متغير من النوع مصفوفة وأبعاد المصفوفة 5 عناصر 'لأن عدد الطلاب 5 طلاب والمطلوب تخزين درجاتهم في المصوفة Dim Students(1 To 5) As Integer 'قراءة درجات الطلاب من ورقة العمل Dim I As Integer For I = 1 To 5 Students(I) = .Range("B1").Offset(I) Next I 'طباعة الدرجات من المصفوفة في النافذة الفورية Debug.Print "درجات الطلاب" For I = LBound(Students) To UBound(Students) Debug.Print Students(I) Next I End With End Sub تم الإعلان عن اسم المتغير Students وطالما وضعنا أقواس بعد المتغير ..محرر الأكواد بيفهم إن دي مصفوفة .. طيب ايه الأرقام اللي ما بين الأقواس 1 إلى 5 دا اسم البعد الأول للمصفوفة (لأن المصفوفة دي عبارة عن عمود واحد اللي هو عمود الدرجات ودي بيسموها مصفوفة ذات بعد واحد (أحادية الأبعاد) وإن شاء الله هنتكلم عنها بالتفصيل نضع المؤشر داخل الكود ونضغط F8 ونبص في اللوكال ... ركز يا مان وشوف المتغير اللي اسمه Students في نافذة اللوكال هتلاقي علامة زائد انقر عليها زي ما إحنا شايفين اللوكال قالت كل حاجة ..قالت الأبعاد وقالت لنا على عناصر المصفوفة ورقم الفهرس لكل عنصر (الرقم اللي بين أقواس بعد اسم المصفوفة دي رقم الفهرس ) طبعاً لسه الكود في بدايتة فالقيم كلها ما زالت صفر .. ابدأ في التنقل باستخدام F8 كما تعلمنا وارجع بعد شوية .... لاحظت في الحلقة التكرارية اللي بدأت من 1 إلى 5 إن القيم الموجودة بدأت تتغير من أصفار إلى قيم (درجات الطلاب) لمزيد حول الحلقة التكرارية للمصفوفة راجع الموضوع التالي من هنا نيجي لآخر جزئية وهي طباعة الدرجات في النافذة الفورية ... هنا تم استخدام الحلقات التكرارية من بداية المصفوفة باستخدام كلمة LBound يليها اسم المصفوفة ، إلى نهاية المصفوفة باستخدام كلمة UBound يليها اسم المصفوفة .. ببساطة الكلمتين دول بيجيبوا الحد الأدنى للمصفوفة (1 كما في المثال) والحد الأعلى للمصفوفة (5 كما في المثال) قم بالضغط على F8 واحدة واحدة وشوف التغيرات اللي بتحصل في نافذة اللوكال والنافذة الفورية عشان تقدر تستوعب عمل الكود بشكل جيد إلى هنا حانت لحظة النوم وبدأ النوم يداعب جفوني ، ألتقي بكم على خير إن شاء الله وإلى لقاء آخر وموضوع متجدد بإذن الله دمتم على طاعة الله والسلام عليكم ورحمة الله وبركاته1 point
-
حبيبى يا ابوالبراء جزاك الله كل خير مكنتش لسه وصلت للحلقه الخامسه Sub news() With Range("A1:B10") .Font.Bold = True .HorizontalAlignment = xlRight .Font.Name = "Andalus" .Font.Size = 14 End With End Sub كده تمام يا استاذ ولا لسه هضرب تانى انا رجليا بربقت من البرد ههههههههههههههههه مش من الضرب1 point
-
بسم الله ما شاء الله عليك أخي الغالي رمهان متمكن ... ورائع ما تسيبك من الأكسس وخليك معانا في الإكسيل ..!!1 point
-
ودى اول جزئية فى الواجب التانى Sub xname() Dim xnames As String xnames = "ياسر خليل حبيبى واستاذى جزاه الله كل خير " Range("c5").Value = xnames End Sub جزاك الله كل خير يا ابو البراء1 point
-
السلام عليكم أهلا بك أخي العزيز في هذا المنتدى وأتمنى أن ينال رضاك وتجد فيه حلولا لكافة المشاكل التي تواجهك في مجال البرمجة وأتمنى (وكما هو المعمول به في هذا المنتدى) أن تغير اسم ظهورك إلى اللغة العربية فضلا لا أمرا أخي العزيز الرجاء التوضيح أكثر حول طلبك أنا حملت الملف ودخلت على شبت إبريل 2016 وقمت بحماية الورقة ثم أدخلت رقم وظيفي في خانة رقم الموظف وأحضر لي المعلومات وبدون مشاكل فما هي المشكلة تحديدا ؟ تحياتي1 point
-
الله عليك يا استاذ رمهان ربي يزيدك من نعيمة صحيح الافكار السابقة غير دقيقة وهذا احسن تعبير ربي يوفقك1 point
-
وعليكم السلام ورحمة الله وبركاته أهلا بك أخي العزيز في منتدانا العزيز ونتمنى أن تجد فيه ما يسرك ولي طلب بسيط وكما هو معمول به اتمنى أن تغير اسم ظهورك إلى اللغة العربية فضلا لا امرا وتفضل هذا الحل المرفق سجل الحضور1.rar1 point
-
ممكن مرفق اخ ابو ابراهيم وموضح به المطلوب شايف السؤال بيشغل البطيخة بتاعتنا ! بالتوفيق1 point
-
أخى الفاضل / كمال محمد جزاك الله خيرا على كلماتك الطيبة ومرحبا بك فى عائلة أوفسينا والحمد أن تم المطلوب كما تريد1 point
-
اكتب هذه المعادلة في الخلية C2 واسحب نزولاً =IF(A2="","",299+ROWS($C$2:C2))1 point
-
السادة المحترمون الافاضل أ/ جعفر و أ/اواب شكرا على اهتمامكم وسرعة ردكم الحمد لله جدة ما ابحث عنه فى رد أ /جعفر شكراً لكم1 point
-
1 point
-
وعليكم السلام أخي الكريم محيي تصدق فكرتني إني جعاااان ..أقوم أتغدى بقا ، بس مش هعزم عليكو ؛ عشان صعب تيجو كلكم مرة واحدة .. الميزانية لن تسمح يرحى إعادة العزومة في وقتٍ لاحق تقبل تحياتي1 point
-
السلام عليكم اخي هيثم حفظ المرفقات في البرنامج سيجعل حجم البرنامج كبير جدا ، وله عواقب وخيمة لهذا السبب ، فالنصيحة ان تحفظ المرفقات في مجلدات الوندوز ، ولكن تربط المرفق برقم ID السجل مثلا المنتدى مليئ بهذا النوع من الامثلة ، وهنا مجموعة امثلة أخونا الكبير ابو خليل: http://www.officena.net/ib/topic/60554-ادراج-صورة-من-الماسح-_-سحب-الصور/?do=findComment&comment=390508 http://www.officena.net/ib/topic/60554-ادراج-صورة-من-الماسح-_-سحب-الصور/ http://www.officena.net/ib/topic/55050-ادراج-صورة-_-اضافة-وحذف/ http://www.officena.net/ib/topic/62131-جلب-الصور-دفعة-واحدة-الى-مجلد-البرنامج-حسب-الاسم-المعرف/ وهنا مثال موسع لي: http://www.officena.net/ib/topic/62143-هدية-سحب-اكثر-من-صورة-من-الاسكنر-وتحويلها-الي-pdf-او-صور-مسلسلة/ وهذا مثال ، ولكن حيث يتم فتح المرفق بالبرنامج الافتراضي للكمبيوتر: http://www.officena.net/ib/topic/55053-فتح-صورة-بـ-مستعرض-الصور/ جعفر1 point
-
1 point
-
سجل معلوماتك في صفحة واحدة و ارسلها كل مغلومة الى صفحتها المخصصة writ_In_One Sheet.rar1 point
-
معي تمام اكسس 2013 وويندوز 7 وهنا ولعل به فائدة بالتوفيق1 point
-
1. سيبك من ده دلوقتي 2. ميزة الاكسس هو مصمم الاستعلامات ، استفيد منه ، لأنه جدا قوي ، و أحد اسرار الاستعلام ، ما تعمل كل شئ في استعلام واحد ، وانما تهيئ استعلام لإستعلام آخر (كما في مثالك اعلاه ، وكما في المثال التالي): http://www.officena.net/ib/topic/67637-جمع-حقول/?do=findComment&comment=440543 هي قاعدة البيانات ايه؟ 1. ادخال بيانات ، 2. بحث وتصفية البيانات (استعلام) ، 3. إظهار النتائج. فالاستعلام هو اهم شئ تقدر تستفيد منه في الاكسس ، وحتى لما نستعمل الكود ، نستخدم الاستعلام للسجلات اللي نريدها (يعني نجهز السجلات اولا بالاستعلام) ، ثم نكمل الباقي بالكود ، والذي هو أبطأ بكثير في عمله من الاستعلام جعفر1 point
-
أخى الكريم // عبد العزيز البسكرى بارك الله فيكم وزادكم الله من فضله ومن علمه بداية بالنسبة لمربع الحوار بها إختيارين أينعم وهى لتجبر المستخدم على إدخال اسم الحاله ( المريض ) لكى أجبره على استخدام البريمج ليس إلا ومن ثم يمكنك بعد ادخال الاسم يظهر لك مربع حوار يمكنك من خلاله التراجع عن الإدخال أى ادخال اسم المريض ( الحاله ) أما بالنسبة للملف التنفيذى فهو للعلم ليس له فائدة غير أنه يمكنك من التعامل مع الملف الذى به أكواد بدون الحاجه الى خفض أمان الماكرو فالأكواد التى بالملف هى تمنع المستخدم من استخدام زر ESC وكذلك من الدخول الى محرر الأكواد اى تمنعك من استخدام زري ( ALT+F11 ) وطبعا يمكن التحايل عليها بكل سهوله حيث أننى لم أضع باسوورد لمحرر الأكواد والطريقة سهله وهى بتحميل ملف من موقع ( DoneEx ) وهى نسخة تجريبية لمدة 30 يوم ويمكنك شراؤها من الموقع رابط الموقع http://doneex.com/excel-compiler/ أو طبعا بعد تحميلها من الممكن كسر المدة وهى تقوم بعد تسطيبها بإضافة قائمة جديدة بالاكسل بإسمها ومن خلالها تقوم بتحويل الملف الى ملف تنفيذى وتختار صورة لجعلها أيقونه للملف وتقبل منى وافر الاحترام والتقدير1 point
-
يا استاذ عبدالعزيز لوسمحت المرة القادمة تعطي معلومات كاملة عن الشئ اللي تريد ان تعمله ، وبالتفصيل ، يعني مثل ما عملت في المشاركة الاخيرة ، بس علشان استطيع ان افهم الموضوع السبب انك لا تستطيع ان تعمل تصفية للحقل natygh مثلا في الاستعلام ، لأن الحقل جاري احتسابه في الاستعلام وانت تريد تصفيته ، فما يصير ، يصير ان نعمل تصفية للمعلومات الجاهزة فقط!! لذلك ، اعمل استعلام جديد ولنسميه qry_Data_Entry2 ، واجعل مصدره الاستعلام qry_Data_Entry (هنا يكون الاستعلام qry_Data_Entry قد قام بالحساب والجمع) ، ثم اعمل التصفية على الحقلين natygh و mostwa في الاستعلام qry_Data_Entry2 طبعا لا تنسى ان تغير مصدر بيانات النموذج الى qry_Data_Entry2 جعفر 307.1.المعلم اليمني المجموع والمحصله.mdb.zip1 point
-
أخى الحبيب ياسر والله مشغول جدا هذه الأيام ولكن أحاول قدر الامكان التواجد ولكن ضيق الوقت لا يسمح لى بالتواجد المستمر ان شاء فترة بسيطة والأمور تتحسن وأعوض الغياب باذن الله جزاك الله كل خير على سؤالك الطيب تقبل أرق تحياتى وتقديرى1 point
-
أخي الحبيب رجب جاويش بارك الله فيك وجزاك الله كل خير .. لقد افتقدنا وجودك لعل غيابك خير ... لا تحرمنا من تواجدك معنا فأنت في القلب تقبل وافر تقديري واحترامي1 point
-
حياك الله انا كنت متلك اعمل هدا الاشي يدوي هههه ودخت السبع دوخات للقيت الحل هههه1 point
-
1 point
-
أخي الفاضل إسلام صلاح بارك الله فيك وجزاك الله خيراً على مرورك العطر أهلا بك في المنتدى ونورت بين إخوانك يرجى تغيير اسم الظهور للغة العربية تقبل تحياتي1 point
-
السلام عليكم ورحمة الله وبركاته كيف حالكم إخواني الكرام في المنتدى الغالي؟ لقيت نفسي نفسي (نفسي الأولى غير التانية ..) نفسي الأولى يعني أنا - وأعوذ بالله من كلمة أنا - ، ونفسي التانية يعني حاجة أتمنى أعملها .. المهم لقيت نفسي أعمل حاجة مختلفة .. بشكل مختلف .. بأسلوب مختلف يكون فيه عنصر التشويق والإثارة والبساطة مجتمعين في نفس الوقت. كتير مننا أول ما يسمع كلمة البرمجة والأكواد يتخض وكأن الموضوع مستحيل ...أبدا كل الحكاية إننا بنبدأ غلط مش بناخد الخطوات الصحيحة لتعلم البرمجة. لو عايز تتعلم البرمجة ونفسك بجد تبدأ تتمكن فيها خليك معايا ، هنقضيها رغي شوية وهزار شويتين ، وجد مش كتير ... ايه رأيكم؟ نبدأ على بركة الله .. أول حاجة بعد ما تنصب الأوفيس وتفتح الإكسيل تلاقي اللي انت عايزه مش موجود طيب نظهره إزاي ؟؟ ببساطة فيه زر أوفيس فوق شمال هتضغط عليه وتضغط Excel Options هتلاقي نافذة فيها خيار اسمه Show Developer tab in the Ribbon يعني إظهار التبويب ، وهتلاقي جنبه مربع تحط فيه علامة صح مبروك الخطوة الأولى واحد هيقولي عندك اقف أول خطوة فشلت فيها ..هقوله ربنا ما يحرمنا من الفشل لأن الفشل أول طريق النجاح .. هقولك لو ملقتش اللي بحكي عليه يبقا اصدار الأوفيس مختلف أنا شغال على 2007 ، وحضرتك على 2010 أو 2013 (بالنسبة ل 2003 والله ما أنا معبره كفاية عليه لحد كدا) ... بالنسبة لـ 2010 و 2013 بيكون من قائمة File ثم Options ثم من القايمة الشمال فيه Customize Ribbon وفي الناحية اليمين هتلاقي قائمة بالتبويبات وجنب كل تبويب علامة صح اللي يعجبك علم عليه صح واللي ميعجبكش ارميه في الزبالة... المهم هتلاقي التبويب اللي هيفتح لنا الباب لعالم البرمجة .. دا كان المفتاح للدخول نخش لتاني حاجة المفتاح عشان يفتح معاك لازم تحط عليه شوية زيت ، يعني لازم تضبط إعدادات الماكرو عشان الأكواد تشتغل معاك تمام من التبويب الجديد انقر على Macor Security هيفتح معاك نافذة بتختار منها آخر خيار Enable all macros وبتعلم علامة صح على الخيار اللي جنبه مربع Trust access to VBA الحمد لله خلصنا من النقطة الأولى والتانية ... ننتقل لنقطة جديدة : هيظهر التبويب في الآخر .. جمد قلبك واشرب ديو وافتح الباب لمحرر الأكواد اضغط على Visual Basic من التبويب المذكور أو لو بتحب تتعامل مع الكيبورد اضغط Alt + F11 كدا الباب الحمد لله فتح .. لو أول مرة تدخل على محرر الأكواد متتخضش واحدة واحدة هبندا نتعلم كل اللي موجود .. المهم محدش يستعجلني عشان أنا مستعجل النافذة دي اسمها نافذة المشروع Project window يعني الإكسيل بيتعامل مع المصنف إنه مشروع .. والمشروع مكون من 3 شيتات اللي بنسميهم أوراق العمل Sheet1 و Sheet2 و Sheet3 بس في 2013 الحمد لله بيكون الوضع الافتراضي شيت واحد بس (أصلي بتخنق من حتة 3 شيتات ع الفاضي بحس إن الملف كبير ع الفاضي وكل اللي يلزمني للعمل بشكل مبدئي هو شيت ولما أحب أضيف جديد مش هيكون أمر صعب) المهم مع أوراك العمل بنلاقي الكائن المسمى بالمصنف WorkBook ودا اللي بيحوي التعابين كلها أقصد الأكواد .. طيب محدش سألني ايه المنطقة الرمادي دي ومالها ضلمة ليه كدا؟ أنا أقولك عشان إنت تنورها .. اضغط دبل كليك على Sheet1 مثلا في نافذة المشروع هتلاقيها نورت والحمد لله استعداد لبداية الاحتفال بس فيه نقطة الأكواد لو اتكتبت هنا هتأثر على الورقة دي بس ... في الحتة اللي نورت الصق الكود اللي جاي ده وأفضل تكتبه بايدك عشان أنا شايف ايدك بتترعش وخايف .. قلت لك جمد قلبك الموضوع بسيط نبدأ بكود كدا سهل ولذيذ Sub Hello_Officena() MsgBox "Hello Officena!" End Sub أول كلمة Sub يعني ابدأ صب اللي عندك .. لا غلط .. معناها إجراء فرعي Subroutine يعني بينفذ مهمة محددة. وفي آخر الكود End Sub عشان القفلة (لو فاكرين شعبان عبد الرحيم بيقول ايه في الآخر بس خلاص دي القفلة بتاعته) هنا بقا دي القفلة بتاعت الإجراء الفرعي.. طيب ايه Hello_Officena دا اسم الإجراء ودا له قواعد أول حاجة مينفعش يبدأ برقم 77Hello_Officena ولا ينفع يكون فيه مسافة زي كدا Hello Officena بس ممكن لو حبينا بدل المسافة بحط Underscore اللي هي بتيجي بـ Shift + العلامة اللي على يمين الصفر اللي في الأرقام اللي فوق مش الأرقام اللي ف لوحة الأرقام .. وبردو فيه حاجات محرمة في اسم الإجراء زي علامة # أو $ أو % أو & أو % أو النقطة أو الفاصلة أو أو .. بقولكم ايه كفاية كلام عن اسم الإجراء .. لو كان فيه حاجة غلط في الاسم هيطلع لك رسالة خطأ تعرف إن فيه حاجة مش مظبوطة!! طيب السطر اللي في النص دا هو دا الكود .. الإجراء أو المهمة المراد تنفيذها .. بتبدأ بكلمة MsgBox ودي اختصار للكلمة Message Box أي صندوق الاسم ..... والله انا سرحت بس مش همسح اللي بكتبه خلي الكلام يكون تلقائي .. ودي بنكتب وراها الرسالة اللي عايزين نظهرها .. وطبعا فيه مسافة بعد الكلمة والكلام اللي هو الرسالة دا نص فنحطه بين أقواس تنصيص " " .. واحد برق لي عينه بيقولي بتتعمل إزاي دي قول لأقتلك .. هقوله حاضر يا باشا هقولك دي بتيجي إزاي .. اضغط على Shift وبعدين حرف الطاء بس خلاص .. طبعا أقواس التنصيص في أول النص وفي آخره مهو لازم القفلة. نجرب نشغل الكود إزاي .. فيه أكتر من طريقة يا إما تضغط على مثلث لونه أخضر فوق في شريط الأدوات الموجود في محرر الأكواد .. مش عاجبك شكل المثلث الأخضر خلاص روح لقائمة Run واضغط أول أمر .. لو انت تلميذ ذكي هتعرف الطريقة التالتة من التانية .. هسيبكم تقولوها إنتو ..مش عارفين !! طيب هقول أنا وخلاص اضغط على F5 من لوحة المفاتيح بس بشرط يكون مؤشر الماوس واقف في الكود.. لما نشغل الكود دا اللي هيظهر لي وبكدا أكون وصلتكم وفتحت لكم الباب .. لو عايزين نكمل قولوا كمل مش عايزين .. يبقا كفاية لحد كدا ويا كود ما يقربش منك حد .. ونعمل بالمثل الفلاحي اللي بيقول : ابعد عن الكود وادعي عليه! والسلام عليكم سبحانك اللهم وبحمدك .. نشهد أن لا إله إلا أنت ..نستغفرك ونتوب إليك كان معكم على الهواء مباشرة أخوكم أبو البراء من ملعب أوفيسنا .. إلى اللقاء مع مباراة جديدة وأهداف جديدة وشيقة دمتم بود ====================================== ====================================== السلام عليكم نرجوا وضع ردود الشكر والاعجاب على الرابط ادناه هنا ====================================== ======================================1 point
-
متابعة الواجبات : ************** قام الأخ الفاضل الجموعي بعمل الواجب المطلوب على أكمل وجه .. بارك الله فيك أخي الحبيب الجموعي وجزيت خيراً على هذه المتابعة الجيدة ممكن نستفيد معلومات جديدة من خلال الواجب مش هنصحح كدا ونقول صح ولا غلط وبس لا إحنا نضيف معلومة تضاف للحلقة الثالثة كملحق ليها . يا ريت المشرفين يقوموا بالمهمة دي .. عايز تجميع لكل الحلقات والملحقات للحلقات زي الملحق ده عشان يضاف للشرح لتسهيل المتابعة لمن أراد المتابعة بإذن الله . طبعا الكود اللي تفضل به أخونا الفاضل بالشكل ده Range("A1:B10").HorizontalAlignment = xlCenter Range("A1:B10").Font.Name = "Arial" Range("A1:B10").Font.Size = 14 Range("A1:B10").Font.Bold = True Range("A1:B10").Font.Color = -4165632 لو لاحطنا هنلاقي الأسطر الخمسة كلها بتبدأ نفس البداية ودا طبيعي لأن كل الشغل على نفس النطاق . ممكن تضيف لمعلوماتك إنك ممكن تستغنى عن تكرار هذه البداية باستخدام جملة With .... End With ومننساش بردو القفلة مهمة جدا نقطة تانية بالنسبة للون يمكن استبالها بقيمة vbBlue بدلا من الرقم اللي شكله يخض ده .. الأسطر كلها تحتوي على Properties أي خصائص وطبعا كل خاصية بيكون ليها قيمة ..ممكن تكون القيمة نص زي اسم نوع الخط Arial وطبعا مننساش إن النص يوضع بين أقواس تنصيص .. وقد تكون القيمة رقم زي حجم الخط ودا طبيعي لأن الحجم بيكون برقم (افتكروا التلاجة الـ 10 قدم .. رقم 10 دا حجم) .. وممكن تكون القيمة حاجة اسمها Boolean أيوا يا شيرين اسمها بولين ، ودي يا إما 1 أو 0 واحد هيقولي غلط إنت بتدي معلومات غلط هي القيمة إما True أو False هقوله صحيح .. ما هي القيمة True =1 والقيمة False = 0 ، وقد تكون القيمة عبارة عن تنسيق معين زي أول سطر xlCenter ودي شرحناها الحمد لله .. وقد تكون قيمة ثابتة vbBlue زي مثلا اللون الأزرق دا ثابت ومعرف في محرر الأكواد هيكون الكود بهذا الشكل بعد التعديل عليه .. وبكدا نكون اتعرفنا على أشكال مختلفة للقيم اللي بتيجي بعد علامة يساوي يعني دلوقتي الأخ الجموعي اختصر الكود اللي في تسجيل الماكرو بشكل رائع ، وإحنا كمان هنختصر اللي اختصره في الكود التالي فبكدا يكون دا مختصر المختصر (يعني دا المفيد) With Range("A1:B10") .HorizontalAlignment = xlCenter .Font.Name = "Arial" .Font.Size = 14 .Font.Bold = True .Font.Color = vbBlue End With آخر نقطة ممكن نتكلم فيها عشان دي أنا نسيتها إزاي نربط الماكرو بزر يقوم بالتنفيذ : معلش نسيت النقطة المهمة دي - اعذروني بسبب الزهايمر - بنروح للتبويب ومش هقول اسمه لأن كل شغلنا عليه هنلاقي فيه كلمة Insert بنضغط عليها بيفتح معانا قايمة منسدلة فيها أدوات تحكم اختار أول واحد اسمها Button (Form Control ودا أول أداة تحكم موجودة وأكثرها استعمالا ..ارسمها ببساطة على ورقة العمل وبعديها كليك يمين ثم اختر الأمر Assign Macro وحدد اسم الماكرو المراد ربط الكود به في المثال السابق مثلا دا مثلا شكل الكود بالكامل فيه اسم الإجراء الفرعي بعد كلمة Sub Sub FormatRangeA1_B10() With Range("A1:B10") .HorizontalAlignment = xlCenter .Font.Name = "Arial" .Font.Size = 14 .Font.Bold = True .Font.Color = vbBlue End With End Sub لما نعمل كليك يمين على زر التحكم هنلاقي اسم الإجراء الفرعي موجود نعلم عليه ونضغط أوك وبكدا نكون ربطنا الكود بزر تحكم ما عليك الآن إلا أن تقوم بعمل كليك واحدة على الزر لتنفيذ الأمر بكل بساطة .. الأخت الفاضلة morestudy بالنسبة لأول ملف عندك مفيش أي خطأ لا في الكود ولا في التنفيذ .. وبعدين لما يظهر خطأ يا ريت نسرد محتوى رسالة الخطأ لتحليلها .. بس الملف مفيهوش أي مشكلة. الملف الثاني أيوا فيه أخطاء المفروض إننا لازم قبل أي شيء الإشارة لنطاق محدد في الأسطر اللي في الكود خاصتك مفيش إشارة فطبيعي إنه يكون غط راجعي الكود اللي تفضل بيه الأخ الجموعي وشوفي الفرق .. وصححي الخطأ بنفسك أرجو ان تكونوا قد استفدتم إخواني الكرام دمتم في رعاية الله وحفظه1 point
-
الحلقة الرابعة طبعا أنا ايدي بتترعش وأنا بكتب كلمة الحلقة (الرابعة) ، دا عشان رقم 4 بقا من المحرمات في مصر .. وربنا يستر ومحدش يبلغ عننا!! فيه نقطة معينة في الشرح تعمدت إن أسيبها عشان حبيت إن حد يسألني عليها بس للأسف محدش سألني ، ودا معناه إن اللي بيتابع الحلقات مجرد متلقي يعني مش فعال .. أو فعال وخايف إنه يسأل لأحسن أضربه .. متخافوش مش بضرب ولا بحب الضرب وبحب اللي يسألني ، حتى لو كان السؤال تافه .. لإن السؤال هو طريق المعرفة .. ومن غير السؤال مش هنتعلم !! النقطة اللي بتكلم عليها حفظ الملف اللي فيه أكواد .. محدش فيكم جاتله رسالة زي دي؟ طبعا النقطة دي كان لازم نشرحها ولازم تسألوا عليها .. طبعا أول ما بتفتح الإكسيل وتشتغل عليه بيكون الملف الافتراضي xlsx .. وطول مفيش أكواد بتتم عملية الحفظ بشكل طبيعي ، أما لو كتبت إجراء فرعي أو بمجرد كتابة اسم إجراء فرعي بس حتى لو كان جواه فاضي مفيهوش أكواد ، وجيت تحفظ هتلاقي الرسالة دي ، لأن صيغة الملف اللي بيحتوي على ماكرو مختلفة عن الصيغة العادية ، بتكون الصيغة xlsm. طيب نعمل ايه ؟ أكبر غلطة إنك تضغط Yes مش أي حد يقولنا نعم نقوله ماشي غلط .. هنا لو ضغطت Yes هيحفظ الملف بدون أكواد .. لازم تتمرد وتضغط No وتحدد اسم الملف في حقل File Name أظن دي كلنا عارفينها ، وفي الحقل التالي فيه قايمة منسدلة بنختار منها تاني اختيار Excel Macro-Enabled ، وبكدا نقدر نحفظ الملف اللي فيه أكواد . طبعا هتلاقي ملف تاني موجود في المكان اللي فيه الملف الأول بس الصيغة مختلفة .. الحمد لله حفظنا الملف اللي هنشتغل عليه !! نبدأ الحلقة : هنرغي النهاردة عن المتغيرات .. لاحظت في كل الشروحات اللي شفتها إن درس المتغيرات بيكون دمه تقيل ورخم ؛ لأن كله بيكون غالبا نظري أكتر منه عملي وبيكون في درس واحد مرة واحدة . إحنا لأننا اتبعنا أسلوب مختلف تماما هنتكلم عنه واحدة واحدة متغير متغير ، وبالأمثلة والتطبيق ، ومش مهم الكم بقدر الكيف (ومحدش يفهم الكيف دي غلط) نفهم الأول يعني ايه متغير .. يعني مش ثابت (صح يا حسام .. حد عنده إجابة تانية كله ساكت يعني مفيش غير حسام اللي عارف ..)! لما نبدأ في عالم البرمجة ، مع الوقت هتلاقي نفسك محتاج الذاكرة إنها تخزن لك أرقام معينة أو نصوص ؛ عشان تستدعيها في وقت اللزوم ، وتبدأ تتعامل مع لما تستدعيها (ربنا يكفينا شر الاستدعاء) عشان نقدر نخزن الأرقام والنصوص دي لازم نستعين بالمتغير .. ييجي المتغير ويقولنا تحت أمرك يا فندم أنا في الخدمة ، وطبعا الذاكرة بردو متأخرتش عننا في تقديم المساعدة. بس المتغير له شروط عشان نقدر نستفيد منه ..أولاً عايز حاجة تسنده عشان بيتكسف يقف لوحده فبنستدعي كلمة اسمها Dim ، ومن غير الكلمة دي يبقا المتغير وحيد ومش هيرضى يساعدك (هي دي اللي بنعلن بيها عن المتغيرات) ثانياً بنديله اسم تمام .. فاكرين شروط تسميه الإجراء الفرعي تقريبا نفس شروط تسمية المتغير .. يعني مينفعش يبدأ برقم لكن ممكن الرقم ييجي بعدين في الاسم بس في أول الاسم لا .. وممنوع الحروف الخاصة زي علامة # $ % ^ & * @ عموما لو فيه حاجة غلط محرر الأكواد هيظهر لك رسالة Syntax error تعرف إن فيه حاجة غلط.. دا كان الشرط التاني للمتغير إن يكون له اسم ، تالت شرط اللي هو نوع المتغير ( ودا ضروري بس اختياري ) فزورة دي ..>> أيوا هو اختياري يعني ممكن ميتكتبش ومفيش مشكلة ، بس طبعا ذوي الخبرة يعرفوا إن كدا محرر الأكواد بيحدد نوعه بردو ، بس بيحدده نوع اسمه Variant ودا له ميزة وعيب .. ميزته إنك لو مش عارف نوع المتغير بيكون دا الافتراضي وبيعفيك من تعريف نوع المتغير .. وعيبه إنه بيستهلك مساحة كبيرة في الذاكرة .. يعني لما ربنا يكرمكم وتكتبوا أسطر كتيرة من الأكواد لو معرفناش نوع المتغير ، هيكون الكود بطيء جدا مقارنة بإننا نعرف الكود بنوع محدد ..! عشان كدا قلنا إنه ضروري يعني هو اختياري ، بس ممكن إحنا نخليه إجباري ؛ عشان نتعود على الصح من البداية (مش كدا ولا ايه!) طيب إحنا هنعرف نوعه إزاي ؟؟ إنت اللي بتحدد نوعه حسب ما تريد وهنتعرف على الأنواع بس بالراحة عليا ..أنا أحب أرغي وآخد وقتي في الرغي قبل ما أكمل بكدا نكون عرفنا شكل السطر اللي هيتم الإعلان فيه عن المتغير ، هيكون ببساطة بالشكل اللي جاي حالا هنفترض إني هخزن في الذاكرة رقم صحيح وهنسميه MyNumber Dim MyNumber As Integer أيوا نحفظ بقا الشكل دا كويس ونشوف الشروط اللي قلنا عليها انطبقت ولا لا ! أول شرط الكلمة Dim اللي هتخلي المتغير ميخافش ، وتاني شرط اسم المتغير وهو هنا MyNumber ودا أنا اللي سميته مش محرر الأكواد عشان محدش يفكر إنه لازم يكون بالاسم ده يعني الاسم إنت حر فيه إن شا الله تسميه (مكرونة) ، وبعدين هنلاقي كلمة من حرفين As ودي متكلمناش عليها دي اللي بتفصل بين الاسم والنوع .. صحيح الاسم مرتبط بالنوع بس لسه في مرحلة الخطوبة والخطوبة هتطول فنفصل بينهم بمحرم اللي هو As وأخيرا النوع Integer ودا بيستخدم للأرقام الصحيحة (أول نوع خلصنا منه الحمد لله)... يبقا خلاصة الكلام السطر ده بنقول لمحرر الأكواد إننا هنستخدم متغير باسم MyNumber وهيكون نوعه عدد صحيح (إحنا كدا بنوفر في الذاكرة مساحة وبنخلي الكود يكون أسرع لما نحدد النوع) طبعا الطالب الناصح هيقولي هو فين الرقم اللي إحنا خزناه في الذاكرة دا ملوش أثر هقوله لسه الحتة دي جاية دلوقتي .. السطر دا بس كأننا بنكلم الذاكرة ونقولها : استعدي أيتها الذاكرة آتٍ إليكي متغير بهذا الاسم ومعاه بطاقة الرقم القومي بتاعته ابدأي اتعاملي معاه .. فالذاكرة تشوف اسمه لو كان اسمه صحيح تقوله اتفضل ، وتشوف نوعه وتحجز له مكان مناسب على أده .. ما هو كل نوع على أد حجمه (زي المثل اللي بيقول كل برغوت على أد دمه) ..يعني النوع Integer غلبان وصحته على أده هتحجزله مكان صغير ، أما Variant فربنا يديله الصحة هياخد مكان لا بأس به (يا ريت تكون النقطة دي بقت واضحة) طيب بعد ما عرفنا المتغير .. نديله قيمة وعشان ندي قيمة قلنا قبل كدا لازم علامة = يساوي ، وتكون القيمة اللي عايزين نخزنها على اليمين بعد علامة يساوي مش قبليها ومينفعش نحط القيمة الأول كدا غلط .. عايزين نتعلم صح ! زي ما أخدنا في الخصائص إن كل خاصية ليها قيمة بنحددلها قيمة .. بردو المتغير بنحدد له قيمة زي كدا MyNumber = 70 يبقا إحنا كدا حددنا قيمة المتغير بـ 70 طيب واحد يقولي يعني عشان أخزن الرقم 70 في الذاكرة هكتب سطرين ، طب ما نختصرهم في سطر واحد يا معلمي (طبعا هو مش معلمي بضم الميم لا دا بقولها بكسر الميم ، على أساس إننا قاعدين على قهوة) .. وبعدين يقولي هختصره كدا Dim MyNumber As Integer = 70 هقوله جرب بنفسك هتلاقي محرر الأكواد أظهر لك رسالة خطأ .. اللي اشتغل على Visual Basic.Net الفكرة دي مقبولة لكن هنا في الـ VBA غير مقبولة.. طيب دلوقتي نطبق عملي السطرين اللي فاتوا .عايزين مثلا نحط قيمة المتغير في الخلية A1 >> Range("A1").Value = MyNumber الخلية A1 وبعدين نقطة متبوعة بخاصية أول مرة تقابلنا دلوقتي ، ودي مهمة جدا ومعناها القيمة Value .. يعني خلي قيمة الخلية A1 تساوي المتغير اللي اسمه MyNumber ، فيقوم محرر الأكواد يروح للذاكرة يسألها عندك متغير اسمه MyNumber ، ترد تقوله أيوا قاعد مرزوع هناك أهو .. يقوم المحرر يشده من قفاه (شكلها كدا أنا اللي هيتعمل فيا كدا النهاردة .. مش جايبها لبر من بدري عمال أقول 4 واستدعاء وشد من القفا ربنا يستر ..) المحرر يشوف قيمة المتغير اللي تم تخزينها ويحطها في الخلية A1 .. اعذروني إذا كنت بشرح اللي بيحصل بالتفصيل بس التفصيل دا مهم .. واحد تاني مخه شغال هيقولي طيب أنا أقدر أختصر الكود بتاعك اللي هو 3 أسطر في سطر واحد وهيطلع الناتج صح Dim MyNumber As Integer MyNumber = 70 Range("A1").Value = MyNumber هيقولي بص بقا السحر أهو الكود بتاعك في سطر واحد Range("A1").Value = 70 هقوله برافو عليك دا صحيح بس مش هو دا المهم إننا نحط القيمة 70 في الخلية A1 وخلصت الحكاية .. الفكرة إن المتغير هنستخدمه مثلا في أكتر من سطر .. وليكن هستخدمه 10 مرات .. لو أنا سمعت كلامك يا نبيه يبقا لو حبيت أغير قيمة المتغير لـ 100 مثلا هضطر أدور على القيمة 70 في كل أسطر الكود وأغيرها 10 مرات .. لكن بالطريقة اللي قلت عليها المتغير لو حبيت أغيره هغيره مرة واحدة بس في أول الكود وخلصت الحكاية!! دي نقطة نقطة تانية إن ممكن يتم على المتغير عمليات حسابية متداخلة ، فلو استعملنا القيمة من غير المتغير هيكون صعب التعامل مع الكود طيب نجرب نحذف كلمة Dim من الكود ونخلي الكود بالشكل ده MyNumber As Integer MyNumber = 70 Range("A1").Value = MyNumber شيلنا كلمة Dim الغريب إن محرر الأكواد مبيديش خطأ لما بتشيلها .. لكن ساعة التنفيذ يخضك برسالة ويقولك معنى الكلام ده إن المتغير مينفعش يتم الإعلان عنه إلا بكلمة Dim ، وإلا سيتعبر الإعلان غير قانوني وسيتم إحالة الكود للمحاكمة (مش بقولكم مش جايبها لبر) بكدا نكون اتعرفنا على أول نوع من المتغيرات اللي هو Integer !! نتعرف سريعا على نوع تاني مشهور جدا اللي هو String ودا بيكون للقيم النصية بالمثال يتضح المقال : Dim Myname As String Myname = "Yasser" MsgBox Myname طبعا بقت الأمور أوضح دلوقتي المتغير اسمه Mname ونوعه String يعني نص .. وتم وضع القيمة النصية Yasser له ، ومننساش مع النصوص أقواس التنصيص .. وآخر سطر مش محتاج إني أشرحه بس نلاحظ في آخر سطر فايدة تانية للإعلان عن المتغيرات .. هنا لما حطينا القيمة النصية Yasser وأسندناها للمتغير Myname ، لما نيجي بعد كدا نستخدمه خلاص هنرتاح من أقواس التنصيص .. وهنعتبر دي فايدة تانية يلا بقا خدوا الواجب عشان أنا تعبت ... 1 - قم بالإعلان عن متغير بأي اسم يعجبك من أي نوع يعجبك وخليه يظهر في الخلية C5 ويظهر معاه رسالة مضمونها أنه قد تم وضع القيمة للمتغير اللي إنت سميته في الخلية C5 2 - قم بالإعلان عن متغيرين من النوع Integer وقم بعمل عملية جمع وناتج الجمع في الخلية E5 إلى لقاء مع حلقة جديدة من حلقات افتح الباب وزغردي يا رباب (دا إذا عدا اليوم بسلام ومكانش فيه استدعاء) دمتم في عون الله وحفظه1 point
-
1 point
-
1 point
-
1 point
-
السلام عليكم اخي الكريم وانا اضم صوتي إليكم وجزاك الله كل خير على الفكرة وإن شاء الله مستمر معك لتهايتها وياحبذا ان تكون بنفس طريقة الأستاذ هادي الذي استخدمها في شرحه بهذا الرابط http://www.officena.net/ib/index.php?showt...%80%A0&st=0 وجزاك الله كل خير وجميع اإخوة والأساتذة الكرام1 point
-
السلام عليكم انا كنت معتقد فعلا ان vba اداة فعالة وممتازة فى الاكسل ولاكن الاخ جوست والاخ احمد يعقوب فى بعض الاحيان اقوم بطلب منهم شىء على الفور يقومون بحلة عن طريق المعادلات جزاهم الله كل خير وانا اضم صوتى اليكم1 point
-
أخي ياسر بالتوفيق و نحن معك ان شاء الله و لكن اخي اكمل الدورة لاخرها و لا تتقاعس او تتعب او تتثاقل بل احتسب عند الله ============ و للعلم ستكون انت المستفيد ان شاء الله لان افضل طريقة لفهم اي مادة هو شرحها. =========== آسف أخي لم انتبه لذلك مسبقاً أنا اتوقع ان افضل كتاب لعمل ذلك هو هذا الكتاب http://www.4shared.com/file/38877157/cdefa..._Reference.html و لكن يا ريت لو تاخذ رأي الأساتذة قبل أن تبدأ في الترجمة1 point
-
1 point
-
ان شاء الله سنكون مع بعضنا ونبدا من الصفر لاني انا ايضا تحت الصفر في البرمجة تحياتي لك علي هذه الفكرة1 point
-
السلام عليكم أخي وحبيبي ياسر خليل ، أوافقك على طرح الموضوع وأضم صوتي إلى صوتك في الحاجة إلى فهم الأكواد بدل من الإعتماد على النسخ واللصق كما أننا أرهقنا السادة الأساتذة في كثرة الطلبات والإلحاح على حل المشكلات . لكن لدي رأي في كيفية إدارة هذه الدورة ، حيث نركز على شرح الأكواد بالتدريج مثلا ( كود الترحيل بمختلف المعايير - كود الفرز - كود البحث -.....الخ ) وكما قلت أخي ياسر نحن مبتدئون وعلينا أن نبدأ من تحت الصفر وأنا واحد من الذين لا يزال في مرحلة الحبو فيما يتعلق بالأكواد والبرمجة لدينا رصيد من الأكواد في مكتبة الأستاذ أبو هاجر تقوم أنت الأخ ياسر بعرضها تباعا وبعدها يأتي الشرح وفي الأخير أمثلة علما أنني طرحت فكرة وضح شروحات بين أسطر الكود حتى يكون مفهوما وعلى كل واحد استعمال الكود المناسب لملفه مع مساعدة الأساتذة التي لا غنى عنها لقد أطنبت في الحديث هذه المرة فأرجو المعذرة وأكرر تأييدي لفكرة الأستاذ ياسر ( يا أبو الأفكار )1 point
-
واثناء ابحاري في ربوع ومنتديات الانترنت وخاصة فيما يتعلق بالاكسس منها وجدت مثال اعجبني على استخدام الماكرو في اكسس احببت ان افيد به احبتي في منتداي اوفيسينا Macros2000.zip1 point