البحث في الموقع
المحتوى عن 'الشيفرات'.
-
تعلمنا في مقال استخدام الشيفرات لتنفيذ العمليات الأساسية في مايكروسوفت إكسل VBA كيفية تنفيذ إجراءات عمل بعض الأدوات عن طريق الشيفرات البرمجية، وسنكمل في هذا المقال شرح عمل الأدوات التالية عن طريق الشيفرات البرمجية: تنسيق الخلايا. تنسيق الخطوط. إضافة حدود للخلايا. مسح محتويات الخلايا. إضافة خلايا أو صفوف أو أعمدة. تغيير حجم خط الخلية نستخدم لتغيير حجم خط الخلية التعليمة التالية: expression.Font.Size = "قيمة حجم الخط الذي نريده" حيث تعبّر expression عن الكائن الذي سنتعامل معه، وفي الغالب يكون من النوع Range بدون ذكر اسم الملف والصفحة اللذين يحويان هذا النطاق، إلا إذا كان تنفيذ الشيفرة في غير الصفحة النشطة أو في غير الملف النشط، أي أنها تصبح بالشكل التالي: Range("عنوان الخلية").Font.Size = "قيمة حجم الخط الذي نريده" والقيمة الافتراضية لحجم الخط هي 11. جعل خط الخلية عريضا نستخدم لذلك التعليمة التالية: Range("عنوان الخلية").Font.Bold = True or False حيث إن القيمة True للخط العريض، والقيمة False للخط العادي، وهي القيمة الافتراضية. تغيير لون خط الخلية ويمكن تنفيذ ذلك بعدة طرق، وهي: عن طريق الاسم الصريح للون، والتعليمة كالتالي: Range("عنوان الخلية").Font.Color = vbColor حيث إن القيمة الافتراضية للون الخط هي vbBlack. عن طريق رقم الفهرس للون، والتعليمة كالتالي: Range("عنوان الخلية").Font. ColorIndex = "الرقم المرجعي للون" حيث تكون القيمة الرقمية للون بين الرقم 1 والرقم 56 وفق المرفق بالصورة التالية، والقيمة الافتراضية للون الخط هي 1. عن طريق نظام الـ RGB للألوان: الفكرة الأساسية من نظام RGB هي القدرة على إعادة إنتاج أي لون آخر بناءً على نسب تداخل ثلاثة ألوان أساسية: الأحمر R والأخضر G والأزرق B، حيث إن وجود هذه الألوان معًا بقيمتها الكاملة 255 ينتج اللون الأبيض، بينما غياب قيمتها لتصل إلى 0 ينتج اللون الأسود. هذا النوع من أنظمة الألوان ضوئي بالكامل، لذا فهو مثالي للشاشات وأجهزة العرض المختلفة، ونتلاعب بقيم كل من الألوان الأساسية للحصول على أي لون آخر قد نريده، وفي العادة تتراوح شدة كل لون ضمن مجال من 0 حتى 255. ويُعَد نظام ألوان RGB نظام إضافة، حيث تعني كل قيمة مضافة لأحد الألوان المزيد من الضوء، أي أن الألوان ذات القيم الكبرى (في كل من R وG وB) أفتح، بينما تلك التي تمتلك قيمًا دُنيا أقتم. والتعليمة التي تحدد لون الخط هي كالتالي: Range("عنوان الخلية").Font. Color = RGB(0,0,0) تغيير لون الخلية وذلك عن طريق التعليمة: Range("عنوان الخلية").Cells.Interior.ColorIndex = "الرقم المرجعي للون" محاذاة النصوص كما نعلم لدينا نوعان من المحاذاة للنصوص، وهما: المحاذاة الأفقية، والمحاذاة العمودية. المحاذاة الأفقية تحدد موضع النص من الخلية أفقيًّا، والتعليمة الخاصة بها هي: Sub alignment_H() expression.HorizontalAlignment = type End Sub حيث تأخذ type إحدى القيم التالية: xlHAlignLeft محاذاة النص يسار الخلية. xlHAlignRight محاذاة النص يمين الخلية. xlHAlignCenter محاذاة النص منتصف الخلية. المحاذاة العمودية تحدد موضع النص من الخلية أفقيًّا، والتعليمة الخاصة بها هي: Sub alignment_V() expression. VerticalAlignment= type End Sub حيث تأخذ type إحدى القيم التالية: xlVAlignTop محاذاة النص أعلى الخلية. xlVAlignBottom محاذاة النص أسفل الخلية. xlVAlignCenter محاذاة النص منتصف الخلية. تفعيل الخلية أو الصفحة لجعل الخلية أو الصفحة نشطةً (مُفعَّلةً) نستخدم التعليمة التالية: Sub active() expression. Activate End Sub تغيير عرض الخلية نستخدم لذلك التعليمة التالية: Range("عنوان الخلية").ColumnWidth = "قيمة عرض الخلية الذي نريده " حيث إن القيمة الافتراضية لعرض الخلية هي 8.43. مثال نريد إنشاء الخلية A2 التي تحوي القيمة 5000، والخلية B1 التي تحوي القيمة 48، ونريد جعل الخط عريضًا حجمه 20، ولونه أبيض، ولون خلفية الخلية أخضر داكنًا، وجعل المحتوى يتوسط الخلايا، ولذلك نكتب الإجراء التالي: Sub example() Range("A2") = "5000" Range("B2") = "48" Range("A2:B2").Font.Bold = True Range("A2:B2").Font.Size = 20 Range("A2:B2").Font.Color = RGB(255, 255, 255) Range("A2:B2").Cells.Interior.ColorIndex = 10 Range("A2:B2").HorizontalAlignment = xlHAlignCenter End Sub إضافة حدود للخلية نستخدم لذلك التعليمة التالية: Range("عنوان الخلية").Borders(direction).LineStyle = type حيث إن: direction: نُحدد عن طريقها مكان الحدود للخلية، حيث تأخذ القيم التالية: XlDiagonalDown لوضع خط يقطع الخلية إلى مثلثين يبدأ من الزاوية اليسرى للخلية. XlDiagonalUp لوضع خط يقطع الخلية إلى مثلثين يبدأ من الزاوية اليمنى للخلية. XlEdgeBottom لوضع خط للخلية من الأسفل. XlEdgeLeft لوضع خط للخلية من اليسار. XlEdgeRigh لوضع خط للخلية من اليمين. XlEdgeTop لوضع خط للخلية من الأعلى. XlInsideHorizonta لوضع خطوط أفقية للخلايا، لكن يجب أن يحوي المجال عدة أعمدة، وتكون الخطوط للخلايا بين بداية المجال ونهايته. XlInsideVertical لوضع خطوط عمودية للخلايا، لكن يجب أن يحوي المجال عدة أعمدة، وتكون الخطوط للخلايا بين بداية المجال ونهايته. LineStyle: تحدد شكل الخط الذي سنضعه للخلية، ويأخذ القيم التالية: XlContinuous الخط الاعتيادي (خط متصل). Xldash الخط عبارة عن مجموعة شَرْطَات (متقطع) بالشكل التالي ------- XlDashDot الخط عبارة عن مجموعة متتابعة بالشكل، شَرْطَة تليها نقطة. XlDashDotDot الخط عبارة عن مجموعة متتابعة بالشكل، شَرْطَة تليها نقطتان. XlDot الخط منقط بالشكل التالي …….. XlDouble الخط عبارة عن خطين عاديين فوق بعضهما. XlLineStyleNone لإلغاء تنسيق الحدود الموجودة بالخلية. XlSlantDashDot الخط عبارة عن مجموعة متتابعة بالشكل، شَرْطَة مقطوعة بشكل مائل تليها نقطة. ولإضافة حدود من كافة الاتجاهات للخلية، نكتب الصيغة السابقة كالتالي: Range("عنوان الخلية").Borders.LineStyle = type تغيير ثخانة حدود الخلية نستخدم لذلك التعليمة التالية: Range("عنوان الخلية").Borders.value = "قيمة ثخانة الحدود للخلية" حذف محتويات الخلايا يمكن حذف محتويات الخلايا بعدة طرق، ومنها استخدام الأمر Delete والأمر Clear والأمر ClearContents والأمر ClearFormats، ولكلٍ منها عمل مخصص. الأمر Delete يُستخدم لحذف الخلايا مع مكانها ضمن البيانات، ويؤدي استعمال هذا الأمر إلى إزاحة الخلايا المتبقية باتجاه مكان الخلايا المحذوفة، والشكل العام لصيغة الأمر هو: Sub Delete() Rang("الخلايا أو النطاق الذي نريد حذفه").Delete (Shift) End Sub حيث إن shift وسيط اختياري يُحدد مكان إزاحة الخلايا، ويأخذ القيم التالية: xlShiftToLeft إزاحة الخلايا المتبقية لموضع الخلايا المحذوفة من اليسار، وهي القيمة الافتراضية. xlShiftUp إزاحة الخلايا المتبقية لموضع الخلايا المحذوفة من الأسفل. مثال بالعودة إلى المثال السابق نريد حذف الخانات من A1:A3، وذلك باستخدام الطرق السابقة، ولذلك نكتب التعليمات التالية: Sub Delete() Range("A1:A3").Delete End Sub الأمر Clear يُستخدم لحذف بيانات الخلية وتنسيقاتها مع الحفاظ على موضع البيانات، والشكل العام لصيغة الأمر: Sub Clear() Range("الخلايا أو النطاق الذي نريد حذفه").Clear End Sub مثال لنجرب نفس المثال السابق، فنكتب الإجراء كالتالي: Sub Clear() Range("A1:A3").Clear End Sub الأمر ClearContents يُستخدم لحذف البيانات، ولكن هذا الأمر يُحافظ على موضع وتنسيق الخلية، والشكل العام لصيغة الأمر هو: Sub Clear_Contents () Range("الخلايا أو النطاق الذي نريد حذفه"). ClearContents End Sub مثال نُطبِّق الأمر على مثالنا السابق، فنكتب الإجراء التالي: Sub Clear_Contents () Range("A1:A3"). ClearContents End Sub الأمر ClearFormats يُستخدم لحذف تنسيق الخلية مع إبقاء المحتوى، والشكل العام لصيغة الأمر هو: Sub Clear_Contents () Range("الخلايا أو النطاق الذي نريد حذفه"). ClearFormats End Sub مثال نُطبِّق الأمر على مثالنا السابق، فنكتب الإجراء التالي: Sub Clear_Contents () Range("A1:A3"). ClearFormats End Sub إدراج خلايا أو أسطر أو أعمدة التعليمة المسؤولة عن الإدراج هي التعليمة Insert إدراج خلايا نُدرج خلايا جديدةً عن طريق الأمر التالي: Sub insert() expression. Insert (Shift) End Sub حيث يحدد الوسيط Shift اتجاه إدراج البيانات، ويأخذ القيم التالية: xlShiftDown تُدرج خلايا أسفل النطاق المحدد. xlShiftToRight تُدرج خلايا يمين النطاق المحدد. مثال نريد إدراج خلايا ضمن بياناتنا في الجدول التالي، بحيث تكون الخلايا المضافة للأعلى ضمن النطاق A1:B5: نكتب الإجراء التالي: Sub Insert() Range("A1:B5").Insert xlShiftDown End Sub إدراج أسطر أو أعمدة نُدرجها عن طريق الأمر التالي: Sub insert() expression. Insert End Sub مثال نريد إدراج 3 صفوف ضمن بياناتنا في جدول البيانات السابق، ولذلك نكتب الإجراء التالي: Sub Insert() Range("2:5").Insert End Sub نلاحظ أنه أُضيفت 3 أسطر ابتداءً من السطر رقم 2، وأن بقية البيانات أُزيحت للأسفل. ولإضافة أعمدة سنتبع نفس الأسلوب، ولكن المجال يتضمن أعمدةً فقط، وبفرض أننا نريد إضافة عمود واحد يكون الإجراء كالتالي: Sub Insert() Range("A:A").Insert End Sub هنا تُزاح البيانات نحو اليسار في النسخة الإنجليزية، وإلى اليمين في النسخة العربية. خاتمة توجد العديد من التعليمات الجزئية التي تُشكل اللَّبنة الأساسية لبناء التطبيقات، لذا يتوجب علينا فهم آلية عمل التطبيق، وتقسيمه لأجزاء ومهام صغيرة، ثم البحث عن التعليمات التي تنفذ هذه المهام، حيث تطرقنا لأهمها، وسنستوفي شرح ما يصادفنا من أوامر خلال المقالات القادمة أثناء صناعة البرمجيات الصغيرة. اقرأ أيضًا التفاعل مع المستخدم في مايكروسوفت إكسل باستخدام VBA الحلقات التكرارية في مايكروسوفت إكسل باستخدام VBA العمليات الشرطية في مايكروسوفت إكسل باستخدام VBA مدخل إلى البرمجة باستخدام VBA في مايكروسوفت إكسل
-
- الشيفرات
- مايكروسوفت إكسل
-
(و 2 أكثر)
موسوم في: