كيفية تطبيق الحدود على الخلية؟
لتطبيق الحدود على خلية باستخدام VBA في Excel، يمكنك استخدام طريقتين مختلفتين. الأول هو خاصية “الحدود” والثاني هو أسلوب “BorderAround”. الفرق الوحيد بين هاتين الطريقتين هو في خاصية “الحدود”، حيث يمكنك حتى تطبيق الحدود على جانب واحد من الخلية ويتم تطبيق الحدود المحيطة بها بالكامل على الخلية.
في هذا البرنامج التعليمي سوف نستكشف كلا الطريقتين ونلقي نظرة على الطرق المختلفة لإضافة الحدود.
خاصية الحدود VBA
- أولاً، تحتاج إلى تحديد النطاق أو الخلية التي تريد تطبيق الحدود فيها باستخدام كائن النطاق.
- بعد ذلك، اكتب النقطة (.) ثم حدد خاصية “الحدود” من قائمة الخصائص والأساليب.
- ثم حدد فهرس الحدود من المحتويات المتوفرة. هنا أستخدم “xlEdgeBottom” لتطبيق الحدود على الجزء السفلي من الخلية فقط.
- ومن هناك، حدد نمط الخط باستخدام “LineStyle”. أستخدم “xlContinuonus” كنمط خط.
Sub vba_borders() Range("A1") _ .Borders(xlEdgeBottom) _ .LineStyle = XlLineStyle.xlContinuous End Sub
الآن عندما تقوم بتشغيل هذا الكود فإنه سيضيف حدًا إلى أسفل الخلية A1.
استخدام ألوان مختلفة مع مؤشر اللون/اللون
تمامًا مثلما تختار عادةً لون الحدود عندما تفعل ذلك يدويًا. في خاصية الحدود، يمكنك أيضًا استخدام فهرس الألوان وخاصية اللون لاستخدام لون آخر غير اللون الافتراضي.
النظر في الكود أدناه.
With Range("A1").Borders(xlEdgeBottom) .LineStyle = XlLineStyle.xlContinuous .Color = RGB(255, 0, 0) End With
عند تشغيل هذا الماكرو، فإنه يضيف حدًا إلى أسفل الخلية باللون الأحمر.
أو إذا كنت تريد استخدام خاصية colorindex، فسيكون الكود هكذا.
With Range("A1").Borders(xlEdgeBottom) .LineStyle = XlLineStyle.xlContinuous .ColorIndex = 7 End With
ذات صلة: VBA مع الإعلان
إضافة حد داخل الخلية
إذا كنت تريد تطبيق حد داخل خلية، ففي هذه الحالة تحتاج إلى استخدام “xlDiagonalUp” و”xlDiagonalDown” كـ xlBorderIndex.
With Range("A1").Borders(xlDiagonalUp) .LineStyle = XlLineStyle.xlDashDotDot .Color = RGB(255, 0, 0) End With With Range("A1").Borders(xlDiagonalDown) .LineStyle = XlLineStyle.xlDashDotDot .Color = RGB(255, 0, 0) End With
عند تشغيل الكود أعلاه فإنه يضيف حدًا داخل الخلية لأعلى ولأسفل.
طريقة VBA BorderAround
في خاصية BorderAround الخاصة بـ VBA، لديك 5 وسيطات اختيارية، ولكن يجب تحديد اثنتين منها لتطبيق الحد بشكل صحيح على الخلية.
تطبق التعليمة البرمجية التالية الحد حول النطاق A1:A3 عند تشغيل الماكرو.
Range("A1:A3").BorderAround _ LineStyle:=xlContinuous, _ Weight:=xlThin
أضف حدًا لكل خلية في النطاق
يتكرر التعليمة البرمجية التالية عبر كافة الخلايا الموجودة في النطاق ويطبق الحد على كل خلية واحدة تلو الأخرى.
Sub vba_borders() Dim iRange As Range Dim iCells As Range Set iRange = Range("A1:A10") For Each iCells In iRange iCells.BorderAround _ LineStyle:=xlContinuous, _ Weight:=xlThin Next iCells End Sub
تطبيق الحدود على كافة الخلايا التي تحتوي على نص
يستخدم التعليمة البرمجية التالية FOR LOOP، وUSED RANGE، وIFEMPTY، وIF STATEMENT لتطبيق الحدود على الخلايا التي تحتوي على قيمة فقط.
Dim iRange As Range Dim iCells As Range Set iRange = ThisWorkbook.ActiveSheet.UsedRange For Each iCells In iRange If Not IsEmpty(iCells) Then iCells.BorderAround _ LineStyle:=xlContinuous, _ Weight:=xlThin End If Next iCells
إزالة الحدود
ما عليك سوى استخدام نمط الخط “xlNone”.
Range("A1").Borders(xlDiagonalDown).LineStyle = xlNone
وإذا كنت تريد إزالة الحد من كافة الخلايا في ورقة العمل التي تحتوي على قيمة، ففكر في التعليمة البرمجية التالية.
Dim iRange As Range Dim iCells As Range Set iRange = ThisWorkbook.ActiveSheet.UsedRange For Each iCells In iRange If Not IsEmpty(iCells) Then iCells.Borders(xlDiagonalDown).LineStyle = xlNone End If Next iCells
الدروس ذات الصلة
- إدراج صف باستخدام VBA في Excel
- دمج الخلايا في Excel باستخدام كود VBA
- حدد نطاقًا/خلية باستخدام VBA في Excel
- تحديد كافة الخلايا في ورقة العمل باستخدام VBA
- ActiveCell في VBA في Excel