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

โดยปกติเวลาเราพิมพ์ข้อมูลที่ยาวเกินความกว้างของคอลัมน์ใน Excel เราสามารถปรับความกว้างของคอลัมน์ให้พอดีกับความยาวของข้อมูลได้โดยการดับเบิ้ลคลิกที่เส้นแบ่งคอลัมน์ ตรงส่วนหัวของคอลัมน์ แต่วิธีนี้เราต้องทำเองบ่อย ๆ ทุกคอลัมน์ที่ต้องการปรับความกว้าง

จะดีกว่าไหมถ้าเราสามารถตั้งค่าให้ Excel ปรับความกว้างของคอลัมน์ให้พอดีกับความยาวของข้อมูลโดยอัตโนมัติ

มันต้องดีอยู่แล้ว จริงไหมครับ ซึ่งเราสามารถตั้งค่าดังกล่าวได้ด้วยวิธีดังนี้

  • คลิกขวาที่ชื่อชีทที่ต้องการตั้งค่า
  • คลิกคำสั่ง View Code

หน้าต่าง Microsoft Visual Basic for Application จะถูกเปิดขึ้นมา

ภายในหน้าต่างสำหรับเขียนโค้ด ให้คลิกที่ดร็อปดาวน์ลิสต์แล้วคลิกเลือก WorkSheet

Excel จะสร้างโค้ดส่วนหนึ่งให้ ดังนี้

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

End Sub

ให้เขียนโค้ด Cells.EntireColumn.AutoFit ระหว่างบรรทัดแรกกับบรรทัดสุดท้าย โดยโค้ดที่สมบูรณ์จะเป็นดังนี้

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Cells.EntireColumn.AutoFit
End Sub

โดยโค้ดดังกล่าว เป็นการสั่งให้ปรับความกว้างของคอลัมน์ให้พอดีกับความยาวของข้อมูลโดยอัตโนมัติทุกครั้งที่มีการเปลี่ยนแปลงใน Worksheet

เมื่อเขียนโค้ดเสร็จแล้ว ให้ปิดหน้าต่าง Microsoft Visual Basic for Application ไปได้เลย

หลังจากนั้น เมื่อเราพิมพ์ข้อความในเซลล์ใด ๆ ใน Worksheet ที่ได้ตั้งค่าไว้และกดปุ่ม Enter Excel จะปรับความกว้างของคอลัมน์ให้พอดีกับความยาวของข้อความที่ยาวที่สุดในคอลัมน์นั้น ๆ ทันที

สิ่งที่ควรรู้เพิ่มเติมก็คือ การตั้งค่านี้จะมีผลกับ Worksheet ปัจจุบันเท่านั้น ถ้าต้องการให้ Worksheet อื่นทำงานในลักษณะเดียวกัน ก็ต้องตั้งค่าเป็นรายชีทไป