كيفية احتواء ارتفاع صف الخلايا المدمجة في Excel تلقائيًا؟
في Excel ، يمكننا ضبط ارتفاع الصف بسرعة ليناسب محتويات الخلية باستخدام امتداد احتواء تلقائي لارتفاع الصف ميزة ، لكن هذه الوظيفة ستتجاهل الخلايا المدمجة تمامًا. وهذا يعني أنه لا يمكنك تطبيق احتواء تلقائي لارتفاع الصف ميزة لتغيير ارتفاع صف الخلايا المدمجة ، تحتاج إلى ضبط ارتفاع الصف يدويًا للخلايا المدمجة واحدة تلو الأخرى. في هذه المقالة ، يمكنني تقديم بعض الطرق السريعة لحل هذه المشكلة.
احتواء ارتفاع صف الخلايا المدمجة تلقائيًا مع رمز VBA
احتواء ارتفاع صف الخلايا المدمجة تلقائيًا مع رمز VBA
لنفترض أن لديّ ورقة عمل تحتوي على بعض الخلايا المدمجة كما هو موضح في لقطة الشاشة التالية ، والآن أحتاج إلى تغيير ارتفاع صف الخلية لعرض المحتويات بالكامل ، قد يساعدك رمز VBA أدناه على احتواء ارتفاع صف الخلايا المدمجة المتعددة تلقائيًا ، يرجى القيام بذلك على النحو التالي:
1. اضغط باستمرار على ALT + F11 مفاتيح ، ويفتح نافذة ميكروسوفت فيسوال باسيك للتطبيقات.
2. انقر إدراج > وحدة، والصق الكود التالي في ملف نافذة الوحدة.
رمز فبا: احتواء تلقائي لارتفاع الصف لعدة خلايا مدمجة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.) في الكود أعلاه ، يمكنك إضافة نطاقات جديدة فقط بنسخها استدعاء AutoFitMergedCells (النطاق ("a1: b2")) البرنامج النصي عدة مرات كما تريد ، وقم بتغيير نطاقات الخلايا المدمجة إلى ما تريده.
(2.) ويجب عليك تغيير اسم ورقة العمل الحالية Sheet4 إلى اسم الورقة المستخدم.
3. ثم اضغط F5 المفتاح لتشغيل هذا الرمز ، والآن ، يمكنك رؤية جميع الخلايا المدمجة تم تركيبها تلقائيًا لمحتوياتها الخلوية ، انظر لقطة الشاشة:
مقالة ذات صلة:
كيفية احتواء عرض العمود تلقائيًا في Excel؟
أفضل أدوات إنتاجية المكتب
عزز مهاراتك في Excel باستخدام Kutools for Excel، واختبر كفاءة لم يسبق لها مثيل. يقدم Kutools for Excel أكثر من 300 ميزة متقدمة لتعزيز الإنتاجية وتوفير الوقت. انقر هنا للحصول على الميزة التي تحتاجها أكثر...
يجلب Office Tab الواجهة المبوبة إلى Office ، ويجعل عملك أسهل بكثير
- تمكين التحرير والقراءة المبوبة في Word و Excel و PowerPointوالناشر والوصول و Visio والمشروع.
- فتح وإنشاء مستندات متعددة في علامات تبويب جديدة من نفس النافذة ، بدلاً من النوافذ الجديدة.
- يزيد من إنتاجيتك بنسبة 50٪ ، ويقلل مئات النقرات بالماوس كل يوم!