Skip to main content

كيفية ضبط ارتفاع الصف تلقائيًا للخلايا المدمجة في Excel؟

Author: Xiaoyang Last Modified: 2025-05-30

في Excel، يمكننا بسرعة ضبط ارتفاع الصف ليتناسب مع محتويات الخلية باستخدام ميزة تلقائي ضبط ارتفاع الصف، لكن هذه الوظيفة تتجاهل تمامًا الخلايا المدمجة. بمعنى آخر، لا يمكنك تطبيق ميزة تلقائي ضبط ارتفاع الصف لتغيير ارتفاع صفوف الخلايا المدمجة، بل تحتاج إلى ضبط ارتفاع الصف للخلايا المدمجة يدويًا واحدًا تلو الآخر. في هذه المقالة، سأقدم بعض الطرق السريعة لحل هذه المشكلة.

ضبط ارتفاع الصف تلقائيًا للخلايا المدمجة باستخدام كود VBA


arrow blue right bubble ضبط ارتفاع الصف تلقائيًا للخلايا المدمجة باستخدام كود VBA

لنفترض أن لدي ورقة عمل تحتوي على بعض الخلايا المدمجة كما هو موضح في لقطة الشاشة التالية، والآن أحتاج إلى تغيير ارتفاع صف الخلية لعرض كل المحتويات، قد يساعدك الكود التالي من VBA في ضبط ارتفاع الصف تلقائيًا للعديد من الخلايا المدمجة، يرجى القيام بما يلي:

sample data

1. اضغط مع الاستمرار على مفاتيح ALT + F11، وسيفتح نافذة Microsoft Visual Basic for Applications.

2. انقر فوق إدراج > وحدة، والصق الكود التالي في نافذة الوحدة.

كود VBA: ضبط ارتفاع الصف تلقائيًا للعديد من الخلايا المدمجة
Option Explicit
Public Sub AutoFitAll()
  Call AutoFitMergedCells(Range("a1:b2"))
   Call AutoFitMergedCells(Range("c4:d6"))
    Call AutoFitMergedCells(Range("e1:e3"))
End Sub
Public Sub AutoFitMergedCells(oRange As Range)
  Dim tHeight As Integer
  Dim iPtr As Integer
  Dim oldWidth As Single
  Dim oldZZWidth As Single
  Dim newWidth As Single
  Dim newHeight As Single
  With Sheets("Sheet4")
    oldWidth = 0
    For iPtr = 1 To oRange.Columns.Count
      oldWidth = oldWidth + .Cells(1, oRange.Column + iPtr - 1).ColumnWidth
    Next iPtr
    oldWidth = .Cells(1, oRange.Column).ColumnWidth + .Cells(1, oRange.Column + 1).ColumnWidth
    oRange.MergeCells = False
    newWidth = Len(.Cells(oRange.Row, oRange.Column).Value)
    oldZZWidth = .Range("ZZ1").ColumnWidth
    .Range("ZZ1") = Left(.Cells(oRange.Row, oRange.Column).Value, newWidth)
    .Range("ZZ1").WrapText = True
    .Columns("ZZ").ColumnWidth = oldWidth
    .Rows("1").EntireRow.AutoFit
    newHeight = .Rows("1").RowHeight / oRange.Rows.Count
    .Rows(CStr(oRange.Row) & ":" & CStr(oRange.Row + oRange.Rows.Count - 1)).RowHeight = newHeight
    oRange.MergeCells = True
    oRange.WrapText = True
    .Range("ZZ1").ClearContents
    .Range("ZZ1").ColumnWidth = oldZZWidth
  End With
End Sub

ملاحظات:

(1.) في الكود أعلاه، يمكنك إضافة نطاقات جديدة عن طريق نسخ النص Call AutoFitMergedCells(Range("a1:b2")) عدة مرات كما تريد، وتغيير نطاقات الخلايا المدمجة حسب الحاجة.

(2.) ويجب عليك تغيير اسم ورقة العمل الحالية Sheet4 إلى اسم الورقة التي تستخدمها.

3. ثم اضغط على مفتاح F5 لتشغيل هذا الكود، والآن يمكنك رؤية أن جميع الخلايا المدمجة تم ضبطها تلقائيًا لتناسب محتوياتها، انظر لقطة الشاشة:

 result of auto fitting row height of merged cells with vba code



المقالة ذات الصلة:

كيفية ضبط عرض العمود تلقائيًا في Excel؟

أفضل أدوات الإنتاجية لمكتب العمل

🤖 Kutools AI Aide: أحدث ثورة في تحليل البيانات من خلال: التنفيذ الذكي |توليد الشيفرة |إنشاء الصيغ المخصصة |تحليل البيانات وتوليد الرسوم البيانية |استدعاء الوظائف المحسنة
الميزات الشائعة: البحث، تمييز أو وضع علامة على المكررات | حذف الصفوف الفارغة | دمج الأعمدة أو العنوان دون فقدان البيانات | تقريب ...
بحث متقدم: بحث V متعدد المعايير | بحث V متعدد القيم | بحث في عدة ورقات | مطابقة غامضة ....
قائمة منسدلة متقدمة: إنشاء قائمة منسدلة بسرعة | قائمة منسدلة تابعة | قائمة منسدلة متعددة الاختيار ....
إدارة الأعمدة: إضافة عدد محدد من الأعمدة | نقل الأعمدة | تبديل حالة إظهار الأعمدة المخفية | مقارنة النطاق والأعمدة ...
ميزات مميزة: التركيز على الشبكة | عرض التصميم | شريط الصيغ المحسن | أدوات المصنف & أدوات الورقة العمل | مكتبة النص التلقائي (Auto Text) | منتقي التاريخ | دمج البيانات | تشفير/فك تشفير الخلايا | إرسال البريد الإلكتروني حسب القائمة | مرشح متقدم | تصفية خاصة (تصفية الخلايا التي تحتوي على خط عريض/مائل/يتوسطه خط...) ...
أفضل15 مجموعة أدوات:12 أداة نصية (إضافة نص، حذف الأحرف المحددة، ...) | أكثر من50 نوع من الرسوم البيانية (مخطط جانت، ...) | أكثر من40 صيغة عملية (حساب العمر بناءً على تاريخ الميلاد، ...) |19 أداة إدراج (إدراج رمز الاستجابة السريعة، إدراج صورة من المسار، ...) |12 أداة تحويل (تحويل إلى كلمات، تحويل العملة، ...) |7 أدوات دمج وتقسيم (دمج متقدم للصفوف، تقسيم الخلايا، ...) | ... والمزيد

عزز مهاراتك في Excel مع Kutools لـ Excel، واختبر الكفاءة كما لم يحدث من قبل. Kutools لـ Excel يقدم أكثر من300 ميزة متقدمة لزيادة الإنتاجية وتوفير وقت الحفظ. انقر هنا للحصول على الميزة التي تحتاجها أكثر...


Office Tab يقدم واجهة التبويب لـ Office، ويجعل عملك أسهل بكثير

  • تمكين تحرير وقراءة المستندات عبر التبويبات في Word وExcel وPowerPoint.
  • افتح وأنشئ عدة مستندات في تبويبات جديدة ضمن نفس النافذة، بدلاً من فتحها في نوافذ منفصلة.
  • يزيد إنتاجيتك بنسبة50%، ويقلل مئات النقرات بالماوس يومياً!