أبو ردينة قام بنشر فبراير 17, 2013 قام بنشر فبراير 17, 2013 السلام عليكم و رحمة الله وبركاته الإخوة الأحباب لاحظت من فترة ليست بالقصيرة أن كثير منا يحتاج إلى السؤال عن جزئية صغيرة في كتابة كود أو غستخدام خصائص أداة من أدوات vba و مع كثرة الموضوعات أو أن يكون الباحث مثل حالي ليس صاحب خبرة كبيرة في سرعة الوصول لما يريد رأيت أن نجعل هذا الموضوع مرجع خاص يشمل كافة النصائح البرمجية التي يمكن ان نقدمها لبعضنا البعض ليكون مرشدا للمستجدين امثالي و مرجعا للخبراء من الأساتذة الأعضاء و كذلك الزوار فما رأيكم ان يشارك الجميع في هذا الموضوع كل بما لديه و بصفة مستمرة لتقديم النصائح الخفيفة التي تفيد من هو على بداية طريق تعلم الأكسيل خاصة بعض الملاحظات من واقع خبرة في التعامل مع المنتديات لفترة كبيرة :- - عنوان الموضوع مقصود لتصل إليه محركات البحث بسهولة و بشكل مستمر - هذا الموضوع ليس مقصودا منه تفريغ لمحتوى ما يطرحه الجميع من موضوعات هنا في منتدى الأكسيل - اختصار الموضوع قدر المستطاع على المشاركات المقصودة يفيد القارئ أكثر من مشاراكات التأييد و الشكر فقط الفكرة مطروحة و لكم الراي فيما ترونه كأغلبية إن شاء الله مثال على ما يمكن ان تكون عليه مشاركات الموضوع :- لكتابة ملاحظات أو شرح ضمن الكود و لا يتم تنفيذه أدخل هذة العلامة قبل كتابة ما تريد ( ' ) تجدها على مفتاح حرف (ط) في لوحة المفاتيح
أبو محمد أشرف قام بنشر فبراير 17, 2013 قام بنشر فبراير 17, 2013 (معدل) على بركة الله تم تعديل فبراير 17, 2013 بواسطه أبو محمد أشرف
أبو محمد أشرف قام بنشر فبراير 17, 2013 قام بنشر فبراير 17, 2013 (معدل) على بركة الله معك طبعا تم تعديل فبراير 17, 2013 بواسطه أبو محمد أشرف
طارق محمود قام بنشر فبراير 18, 2013 قام بنشر فبراير 18, 2013 السلام عليكم أخي الحبيب فكرة ممتازة بارك الله فيك سأبدا معك بهذه المعلومة الصغيرة القيمة ممكن نقول عنها tip يمكنك إستبدال الأمر Tip # 001 Range ("A1") بالتعبير [A1] وهما يؤديان نفس الغرض إلا أن الأخير يجعل الكود أخف وأقصر لقارئه وطبعا A1 لأي خلية ويمكن أيضا للمجالات ككل مثل Range ("A1:X555") تستبدل بــ [A1:X555]
طارق محمود قام بنشر فبراير 18, 2013 قام بنشر فبراير 18, 2013 بغرض تسريع عمليات الكود Tip # 002 ضع الأوامر في سطر واحد وبينهما : أفضل من وضعها في أسطر متتالية خصوصا لو الأوامر قصيرة مثلا: For i = 1 To 20 Cells(i, 2) = i ^ 2 Cells(i, 3) = i * 2 Cells(i, 4) = i / 2 Next i تستبدل بــ For i = 1 To 20: Cells(i, 2) = i ^ 2: Cells(i, 3) = i * 2: Cells(i, 4) = i / 2: Next i
طارق محمود قام بنشر فبراير 18, 2013 قام بنشر فبراير 18, 2013 بغرض تسريع الكود ككل Tip # 003 ضع أمر في أول الكود بالأعلي لإطفاء عمل تحديث الشاشة (ScreenUpdating) ولاتنسي أن تضع أمرا آخر في آخر الكود بالأسفل يعيد عمل تحديث الشاشة (ScreenUpdating) كالتالي Sub code001() Application.ScreenUpdating = True code ... code Application.ScreenUpdating = False End Sub 1
أبو ردينة قام بنشر فبراير 18, 2013 الكاتب قام بنشر فبراير 18, 2013 (معدل) جزاكم الله خيرا أخواني الكرام أ / أبو محمد أشرف - أ / طارق محمود على دعمكم و تأييدكم للفكرة أخي و أستاذي الحبيب / طارق محمود تفضلكم بالرد شرف لي و مشاركتكم في الموضوع مكسب لنا جميعا لنستزيد من علمكم - بارك الله فيك و نفع بعلمك _________________________________________ TIP # 004 جملة ( Option Explicit) تجدها أحيانا في بداية بعض الأكواد - وظيفتها تجبرك على تعريف المتحولات التي تستخدمها في الكود بكلمة ( Dim) أو ما يرادفها مثال for r=1 to 100 النتيجة مع إستخدامك للجملة Variable not defined الحل Dim r As Integer for r=1 to 100 لماذا علي أن أستخدمها في الكود ؟ لأنها تنبهك للخطأ الذي ربما تغفل عنه خاصة في الأكواد الكبيرة هل يمكن أن يتم إدراجها تلقائيا دون أن أكتبها في كل مرة ؟ نعم يمكن للأكواد الجديدة فقط و ليس السابقة ( حيث ستحتاج لإضافتها يدويا ) من خلال الخطوات التالية من محرر الأكواد إختر "Tools" ثم "Options" ضع علامة صح على الخيار Require Variable Declaration بالفرنسية : Déclaration des Variables Obligatoire ماذا يحدث لو لم أضع هذة الجملة في بداية الكود و أخطأت في كتابة أسم المتحول ؟سوف يعتبر جميع المتحولات على انها من نوع متغير ( Variant ) وذلك يؤدي الى هدر كبير في الذاكرة كما ينتج عنه انخفاض في الأداء وايضا فإن عدم التصريح يؤدي في حال وقوع اخطاء في كتابة او تهجئة اسم المتحول الى قيام VBA بإعتباره متحولاً جديداً. _______________________________________________ * المراجع في الإجابة ( و ذلك لحفظ الحقوق لأصحابها ) مقتطفات من :- - موضوعات من الإنترنت - رد لأخي الكريم أبو حنين في أحد الموضوعات هنا منتدى أوفيسنا تم تعديل فبراير 18, 2013 بواسطه أبو ردينة
إبراهيم ابوليله قام بنشر فبراير 18, 2013 قام بنشر فبراير 18, 2013 اخى الكريم طارق Sub code001() Application.ScreenUpdating = True code...codeApplication.ScreenUpdating = FalseEnd Sub هذا الكود على حد علمى يستخدم لمعالجة بطئ الاكواد ولكن هل كلمة FALSE تكون فى بداية الاكواد ام فى نهايتها بمعنى انها ستكون بالشكل الاتى Application.ScreenUpdating = FALSE Application.ScreenUpdating = TRUE
طارق محمود قام بنشر فبراير 18, 2013 قام بنشر فبراير 18, 2013 أخي ابراهيم الله يفتح عليك كلامك مضبوط 100% انا تسرعت وهذا خطأ عندي ولكن قد يكون افضل للمجموع حيث التفاعل مطلوب
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.