ไปยังเนื้อหาหลัก

วิธีปรับความสูงของแถวของเซลล์ที่ผสานใน Excel โดยอัตโนมัติ

ผู้เขียน: Xiaoyang แก้ไขล่าสุด: 2024-08-07

ใน 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 กุญแจสำคัญในการเรียกใช้รหัสนี้และตอนนี้คุณสามารถเห็นเซลล์ที่ผสานทั้งหมดได้รับการติดตั้งโดยอัตโนมัติกับเนื้อหาของเซลล์ดูภาพหน้าจอ:

ผลลัพธ์ของความสูงของแถวที่เหมาะสมอัตโนมัติของเซลล์ที่ผสานด้วยรหัส vba



บทความที่เกี่ยวข้อง:

วิธีปรับความกว้างของคอลัมน์ใน Excel โดยอัตโนมัติ

สุดยอดเครื่องมือเพิ่มผลผลิตในสำนักงาน

🤖 Kutools AI ผู้ช่วย: ปฏิวัติการวิเคราะห์ข้อมูลโดยยึดตาม: การดำเนินการที่ชาญฉลาด   |  สร้างรหัส  |  สร้างสูตรที่กำหนดเอง  |  วิเคราะห์ข้อมูลและสร้างแผนภูมิ  |  เรียกใช้ฟังก์ชัน Kutools...
คุณสมบัติยอดนิยม: ค้นหา เน้น หรือระบุรายการที่ซ้ำกัน   |  ลบแถวว่าง   |  รวมคอลัมน์หรือเซลล์โดยไม่สูญเสียข้อมูล   |   รอบโดยไม่มีสูตร ...
การค้นหาขั้นสูง: VLookup หลายเกณฑ์    VLookup หลายค่า  |   VLookup ข้ามหลายแผ่น   |   การค้นหาที่ไม่ชัดเจน ....
รายการแบบเลื่อนลงขั้นสูง: สร้างรายการแบบหล่นลงอย่างรวดเร็ว   |  รายการแบบหล่นลงขึ้นอยู่กับ   |  เลือกหลายรายการแบบหล่นลง ....
ผู้จัดการคอลัมน์: เพิ่มจำนวนคอลัมน์เฉพาะ  |  ย้ายคอลัมน์  |  สลับสถานะการมองเห็นของคอลัมน์ที่ซ่อนอยู่  |  เปรียบเทียบช่วงและคอลัมน์ ...
คุณสมบัติเด่น: กริดโฟกัส   |  มุมมองการออกแบบ   |   บาร์สูตรใหญ่    สมุดงานและตัวจัดการชีต   |  ห้องสมุดทรัพยากร (ข้อความอัตโนมัติ)   |  เลือกวันที่   |  รวมแผ่นงาน   |  เข้ารหัส/ถอดรหัสเซลล์    ส่งอีเมลตามรายการ   |  ซุปเปอร์ฟิลเตอร์   |   ตัวกรองพิเศษ (กรองตัวหนา/ตัวเอียง/ขีดทับ...) ...
ชุดเครื่องมือ 15 อันดับแรก12 ข้อความ เครื่องมือ (เพิ่มข้อความ, ลบอักขระ, ... )   |   50 + แผนภูมิ ประเภท (แผนภูมิ Gantt, ... )   |   40+ ใช้งานได้จริง สูตร (คำนวณอายุตามวันเกิด, ... )   |   19 การแทรก เครื่องมือ (ใส่ QR Code, แทรกรูปภาพจากเส้นทาง, ... )   |   12 การแปลง เครื่องมือ (ตัวเลขเป็นคำ, การแปลงสกุลเงิน, ... )   |   7 ผสานและแยก เครื่องมือ (แถวรวมขั้นสูง, แยกเซลล์, ... )   |   ... และอื่น ๆ

เพิ่มพูนทักษะ Excel ของคุณด้วย Kutools สำหรับ Excel และสัมผัสประสิทธิภาพอย่างที่ไม่เคยมีมาก่อน Kutools สำหรับ Excel เสนอคุณสมบัติขั้นสูงมากกว่า 300 รายการเพื่อเพิ่มประสิทธิภาพและประหยัดเวลา  คลิกที่นี่เพื่อรับคุณสมบัติที่คุณต้องการมากที่สุด...


แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก

  • เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
  • เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
  • เพิ่มประสิทธิภาพการทำงานของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!