اكتشاف الخلايا المدمجة في VBA Excel باستخدام MergeArea
سؤال
أواجه مشكلة كبيرة مع هذه المشكلة - لا بد لي من اكتشاف الخلايا المدمجة أفقيًا وعموديًا من جدول Excel.لا بد لي من تخزين إحداثيات الخلية الأولى، وطول المنطقة المدمجة.أقوم بالتكرار من خلال الجدول مع دورتين، سطرًا تلو الآخر.
كيف يمكنني استخدام خاصية MergeArea للكشف عن المناطق المدمجة وغير المدمجة؟إذا لم يتم دمج الخلية، فمن المحتمل أن تُرجع نطاقًا فارغًا، ولكن هذا:
"إذا كان النطاق الحالي لا شيء إذن"
لا يعمل على الإطلاق.أيه أفكار؟شكرًا جزيلاً.
المحلول
هناك العديد من القطع المفيدة من التعليمات البرمجية لهذا.
ضع مؤشرك في خلية مدمجة وطرح هذه الأسئلة في النافذة المعتدية:
هل activeCell خلية مدمجة؟
giveacodicetagpre.كم من الخلايا دمجها؟
giveacodicetagpre.كم عدد أعمدة دمجها؟
giveacodicetagpre.كم يتم دمج عدد الصفوف؟
giveacodicetagpre.ما هو عنوان النطاق المدمج؟
giveacodicetagpre.نصائح أخرى
أثناء العمل مع الخلايا المحددة كما هو موضح بواسطةtbur يمكن أن يكون مفيدًا، كما أنه ليس الخيار الوحيد المتاح.
يمكنك استخدام يتراوح() مثل ذلك:
If Worksheets("Sheet1").Range("A1").MergeCells Then
Do something
Else
Do something else
End If
أو:
If Worksheets("Sheet1").Range("A1:C1").MergeCells Then
Do something
Else
Do something else
End If
بدلا من ذلك، يمكنك استخدام الخلايا ():
If Worksheets("Sheet1").Cells(1, 1).MergeCells Then
Do something
Else
Do something else
End If