سنتعلم في هذا البرنامج التعليمي كيفية استخدام Visual Basic for Applications (VBA) لتعديل حجم النص ونمطه في خلية Excel بناءً على محتوى الخلية. ينطبق هذا البرنامج التعليمي على Excel 365 و 2021 و 2019 و 2016.
مقدمات
إذا كنت جديدًا في تطوير Excel VBA ، فسأوصي قبل الانتقال إلى البرنامج التعليمي بأن تنظر في كتابنا التمهيدي لـ Excel VBA.
قبل أن تبدأ في البرمجة ، يجب عليك تمكين علامة تبويب المطور في Excel في الشريط ، وإلا فلن تتمكن من الوصول إلى محرر Visual Basic.
قم بتغيير خصائص نص خلية Excel باستخدام VBA
حدد جدول البيانات الخاص بك
سنبدأ بتحديد جدول بيانات Excel الذي سنستخدمه كمثال. لا تتردد في استخدامه لمتابعة هذا البرنامج التعليمي.
- افتح Microsoft Excel وأنشئ مصنف Excel جديدًا ممكّنًا بماكرو ( .xlsm ) باسم Excel_Macros.xlsm
- احفظ جدول البيانات في محرك الأقراص المحلي.
- في ورقة عمل الورقة 1 ، امض قدمًا وأضف الجدول أدناه:

- الآن ، من الشريط ، اضغط على الصيغ .
- ثم اضغط على تعريف الاسم .
- حدد نطاقًا مسمىًا ستطبق عليه كود فبا كما هو موضح أدناه واضغط على موافق .
![كيفية تعيين لون خط نص Excel باستخدام VBA؟ كيفية تعيين لون خط نص Excel باستخدام VBA؟]()
استخدم خاصية Cell.Font VBA لتغيير لون الخط ونمطه
- انتقل إلى علامة التبويب المطور .
- بعد ذلك ، انطلق واضغط على زر Visual Basic .
- في الجانب الأيسر من Project Explorer ، قم بتمييز مشروع Excel_Macros.xlsm ثم اضغط على إدراج واختر الوحدة النمطية .
- سيتم إنشاء وحدة نمطية جديدة لـ VBA تسمى Module1 .
- انطلق والصق الكود التالي في الوحدة المنشأة حديثًا:
Sub Color_Cell_Text_Condition()
Dim MyCell As Range
Dim StatValue As String
Dim StatusRange As Range
Set StatusRange = Range("Completion_Status")
'loop through all cells in the range
For Each MyCell In StatusRange
StatValue = MyCell.Value
'modify the cell text values as needed.
Select Case StatValue
'green
Case "Progressing"
With MyCell.Font
.Color = RGB(0, 255, 0)
.Size = 14
.Bold = True
End With
'orange
Case "Pending Feedback"
With MyCell.Font
.Color = RGB(255, 141, 0)
.Size = 14
.Bold = True
End With
'red
Case "Stuck"
With MyCell.Font
.Color = RGB(255, 0, 0)
.Size = 14
.Bold = True
End With
End Select
Next MyCell
End Sub
- اضغط على زر حفظ في محرر Visual Basic.
- الآن اضغط على Run ثم اختر Run Sub / UserForm (أو ببساطة اضغط على F5).
- انتقل إلى ورقة العمل Sheet1 الخاصة بك ولاحظ التغييرات. تم تعيين رموز ألوان متعددة لإدخالات الجدول وفقًا لنصها (باستخدام وظيفة ألوان RGB) ، وقمنا أيضًا بتعيين النص ليكون غامقًا ونزيد حجمه.
![كيفية تعيين لون خط نص Excel باستخدام VBA؟ كيفية تعيين لون خط نص Excel باستخدام VBA؟]()
- إذا لم تكن قد حفظت الرمز الخاص بك ، فاضغط على الزر حفظ (أو Ctrl + S) ، ثم احفظ المصنف أيضًا.
الوصول إلى VBA Macro الخاص بك
- لاحظ أن التعليمات البرمجية الخاصة بك متاحة دائمًا لك للتشغيل من أمر وحدات الماكرو الموجود في علامة التبويب عرض (أو بدلاً من ذلك في المطور | وحدات الماكرو)
![كيفية تعيين لون خط نص Excel باستخدام VBA؟ كيفية تعيين لون خط نص Excel باستخدام VBA؟]()
المكافأة: نمط الخلية
يوفر Excel القدرة على إنشاء "أنماط" الخلية. يمكن العثور على الأنماط في الشريط الرئيسي > الأنماط:
![أنماط الخطوط في Excel VBA]()
تسمح لك الأنماط بحفظ تنسيق الخلية المطلوب. ثم قم بتعيين هذا النمط لخلية جديدة وسيتم تطبيق كافة تنسيقات الخلية على الفور. بما في ذلك حجم الخط ولون الخلية وحالة حماية الخلية وأي شيء آخر متاح من قائمة تنسيق الخلية:
![قائمة تنسيق الخلية تتفوق]()
شخصيًا، بالنسبة للعديد من النماذج التي أعمل عليها، عادةً ما أقوم بإنشاء نمط خلية "الإدخال":
النطاق ("a1").Style = "الإدخال"
باستخدام الأنماط، يمكنك أيضًا التعرف بسهولة على أنواع الخلايا في ورقة العمل الخاصة بك. سوف يتكرر المثال أدناه عبر جميع الخلايا في ورقة العمل ويغير أي خلية ذات النمط = "Input" إلى "InputLocked":
خلية خافتة كنطاق
لكل خلية في ActiveSheet.Cells
إذا كان Cell.Style = "الإدخال" ثم Cell.Style = "InputLocked"
إنهاء إذا
الخلية التالية