วิธีปรับความสูงของแถวของเซลล์ที่ผสานใน Excel โดยอัตโนมัติ
ใน Excel เราสามารถปรับความสูงของแถวให้พอดีกับเนื้อหาของเซลล์ได้อย่างรวดเร็วโดยใช้ไฟล์ ปรับพอดีอัตโนมัติสูงของแถว คุณลักษณะ แต่ฟังก์ชันนี้จะละเว้นเซลล์ที่ผสานโดยสิ้นเชิง กล่าวคือคุณไม่สามารถใช้ไฟล์ ปรับพอดีอัตโนมัติสูงของแถว คุณลักษณะในการปรับขนาดความสูงของแถวของเซลล์ที่ผสานคุณต้องปรับความสูงของแถวด้วยตนเองสำหรับเซลล์ที่ผสานทีละเซลล์ ในบทความนี้ฉันสามารถแนะนำวิธีการด่วนเพื่อแก้ปัญหานี้ได้
ปรับความสูงของแถวอัตโนมัติของเซลล์ที่ผสานด้วยรหัส VBA
ปรับความสูงของแถวอัตโนมัติของเซลล์ที่ผสานด้วยรหัส VBA
สมมติว่าฉันมีแผ่นงานที่มีเซลล์ที่ผสานบางเซลล์ดังที่แสดงภาพหน้าจอต่อไปนี้และตอนนี้ฉันต้องการปรับขนาดความสูงของแถวเซลล์เพื่อแสดงเนื้อหาทั้งหมดรหัส VBA ด้านล่างอาจช่วยให้คุณปรับความสูงของแถวของเซลล์ที่ผสานหลายเซลล์โดยอัตโนมัติโปรดทำ ดังต่อไปนี้:
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. ) ในโค้ดด้านบนคุณสามารถเพิ่มช่วงใหม่ได้เพียงแค่คัดลอก เรียก AutoFitMergedCells (ช่วง ("a1: b2")) สคริปต์หลาย ๆ ครั้งตามที่คุณต้องการและเปลี่ยนช่วงเซลล์ที่ผสานตามที่คุณต้องการ
(2. ) และคุณควรเปลี่ยนชื่อแผ่นงานปัจจุบัน Sheet4 ไปยังชื่อแผ่นงานที่คุณใช้
3. จากนั้นกด F5 กุญแจสำคัญในการเรียกใช้รหัสนี้และตอนนี้คุณสามารถเห็นเซลล์ที่ผสานทั้งหมดได้รับการติดตั้งโดยอัตโนมัติกับเนื้อหาของเซลล์ดูภาพหน้าจอ:
บทความที่เกี่ยวข้อง:
วิธีปรับความกว้างของคอลัมน์ใน Excel โดยอัตโนมัติ
สุดยอดเครื่องมือเพิ่มผลผลิตในสำนักงาน
เพิ่มพูนทักษะ Excel ของคุณด้วย Kutools สำหรับ Excel และสัมผัสประสิทธิภาพอย่างที่ไม่เคยมีมาก่อน Kutools สำหรับ Excel เสนอคุณสมบัติขั้นสูงมากกว่า 300 รายการเพื่อเพิ่มประสิทธิภาพและประหยัดเวลา คลิกที่นี่เพื่อรับคุณสมบัติที่คุณต้องการมากที่สุด...
แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก
- เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
- เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
- เพิ่มประสิทธิภาพการทำงานของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!