كيفية استخدام التفاف النص في أي مكان عبر vba؟
في VBA، توجد خاصية تسمى “WrapText” يمكنك الوصول إليها لتطبيق التفاف النص على خلية أو نطاق من الخلايا. يجب عليك كتابة التعليمات البرمجية لتمكينه أو تعطيله. إنها خاصية القراءة والكتابة، لذا يمكنك تطبيقها، أو يمكنك أيضًا الحصول عليها إذا تم تطبيقها على خلية.
في هذا البرنامج التعليمي، سنلقي نظرة على طرق مختلفة لتطبيق التفاف النص باستخدام كود VBA.
التفاف النص في خلية باستخدام VBA
استخدم الخطوات التالية لتطبيق Wrap Text باستخدام كود VBA.
- حدد الخلية التي تريد تطبيق التفاف النص فيها باستخدام خاصية النطاق .
- اكتب فترة لرؤية قائمة الخصائص والأساليب الخاصة بتلك الخلية.
- حدد خاصية “WrapText” من القائمة.
- أدخل علامة المساواة “=” واكتب TRUE لتمكين التفاف الكلمات.
Sub vba_wrap_text() Range("A1").WrapText = True End Sub
يمكنك أيضًا تحديد خلية بالطريقة التالية.
Cells(1, 1).WrapText = True
التفاف النص في صف من الخلايا
وإذا كنت تريد تطبيق التفاف النص على نطاق كامل، فستحتاج إلى تحديد النطاق بدلاً من خلية واحدة.
Range("A1:A5").WrapText = True
يمكنك أيضًا تطبيقه على النطاق المستخدم (اختيار ورقة العمل التي أدخلت فيها البيانات) باستخدام خاصية “UsedRange”.
Worksheets("Sheet1").UsedRange.WrapText = True ActiveSheet.UsedRange.WrapText = True
في السطر الأول من الكود أعلاه، قمت بتحديد ورقة العمل ثم “UsedProperty” لتغليف النص. في السطر الثاني لديك النطاق المستخدم للورقة النشطة . لكن كلا الخطين يعملان بنفس الطريقة.
فيما يلي بعض الأمثلة الأخرى التي يجب أن تعرفها:
- خلايا غير مستمرة
- خط كامل
- عمود كامل
- النطاق المسمى
Range("A1:A10,C1:C10").WrapText = True Range("A:A").WrapText = True Range("1:1").WrapText = True Range("myRange").WrapText = True
التفاف النص في جميع أنحاء ورقة العمل
للإشارة إلى ورقة العمل بأكملها، تحتاج إلى استخدام خاصية الخلايا كما هو الحال في التعليمة البرمجية التالية.
Cells.WrapText = True Worksheets("Sheet1").Cells.WrapText = True
يشير السطر الأول من التعليمات البرمجية إلى الورقة النشطة ويشير السطر الثاني إلى ورقة العمل “الورقة1”. يمكنك أيضًا استخدام حلقة باستخدام FOR EACH (For Next) للتنقل خلال كافة أوراق العمل الموجودة في المصنف وتطبيق التفاف النص على كافة الخلايا.
Dim ws As Worksheet For Each ws In ActiveWorkbook.Worksheets Cells.WrapText = True Next ws
في الكود أعلاه، لديك “ws” كمتغير ، ثم يتم تنفيذ حلقة For Each Loop عبر جميع أوراق العمل الموجودة في المصنف ويتم تطبيقها على التفاف نص ورقة العمل بأكملها باستخدام الخلايا.
تعطيل التفاف النص
كما رأيت، فأنت بحاجة إلى تمكين خاصية WrapText، وبالمثل يمكنك تعطيلها باستخدام إضافة التصريح FALSE.
Range("A1").WrapText = False
ملاحظة: هناك شيء واحد تحتاج إلى فهمه إذا كان لديك قيمة في خلية وكان عرض الخلايا كافيًا لتخزين هذه القيمة، فحتى إذا قمت بتطبيق نص على الصف ، فلن ينقل Excel المحتوى إلى السطر التالي .