สอนวิธีปรับความกว้าง column แบบอัตโนมัติตามความยาวข้อมูลใน excel

การจัดรูปแบบสเปรดชีต Excel ให้ดูเป็นระเบียบและอ่านง่ายเป็นสิ่งสำคัญ การปรับความกว้างของคอลัมน์ให้พอดีกับข้อมูลเป็นหนึ่งในขั้นตอนพื้นฐานที่หลายคนมักทำเป็นประจำ แต่จะดีกว่าไหม หากเราไม่ต้องขยับคอลัมน์ให้พอดีกับข้อมูลตลอดเวลาใน Excel สามารถใช้ ฟีเจอร์  VBA ตั้งค่าให้ความกว้างของคอลัมน์ข้อมูลแบบอัตโนมัติได้ ในบทความนี้เราจะสอนวิธีทำกันค่ะ

ตัวอย่าง

ในตัวอย่างนี้ “คอลัมล A” แสดงให้เห็นความกว้างคอลัมน์เริ่มต้นของ Excel กว้างไม่พอดีกับข้อมูลที่กรอกลงไป วิธีแก้ไขปัญหานี้อยู่ในหัวข้อถัดไป

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

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

1.ปรับด้วยการลากเส้นขอบคอลัมน์

  • วางเคอร์เซอร์ไว้ที่ขอบระหว่างหัวคอลัมน์ (เช่น ระหว่างคอลัมน์ A และ B)
  • เมื่อเคอร์เซอร์เปลี่ยนเป็นลูกศรสองหัว ให้คลิกแล้วลากเพื่อปรับความกว้างตามต้องการ
  • หรือดับเบิลคลิกที่ขอบเพื่อให้ Excel ปรับความกว้างอัตโนมัติตามข้อมูล

2.ใช้คำสั่ง AutoFit

  • เลือกคอลัมน์ที่ต้องการปรับ หรือกด Ctrl+A เพื่อเลือกทั้งชีต
  • ไปที่แท็บ หน้าแรก (Home)
  • ในกลุ่ม Cells คลิก Format และเลือก AutoFit Column Width

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

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

Excel มีฟีเจอร์ Visual Basic for Applications (VBA) ซึ่งช่วยปรับการทำงานของสเปรดชีตให้เป็นแบบอัตโนมัติ หากคุณต้องการให้ความกว้างของคอลัมน์ปรับเปลี่ยนโดยอัตโนมัติทุกครั้งที่มีการเพิ่มหรือลบข้อมูลในเซลล์ คุณสามารถทำตามขั้นตอนด้านล่าง:

ขั้นตอนการตั้งค่า VBA

1.เปิดหน้าต่าง VBA

  • คลิกขวาที่แท็บแผ่นงานที่ต้องการปรับคอลัมน์โดยอัตโนมัติ (ที่ด้านล่างของหน้าต่าง Excel)
  • เลือก ดูโค้ด (View Code)

2.เพิ่มโค้ด VBA

  • ในหน้าต่าง VBA ที่เปิดขึ้น ให้เลือก Worksheet จากเมนูดรอปดาวน์ด้านบน
  • ใส่โค้ดต่อไปนี้ลงไปในส่วนของ Worksheet_Change:
Private Sub Worksheet_Change(ByVal Target As Range)

Cells.EntireColumn.AutoFit

End Sub

3.ปิดหน้าต่าง VBA

  • คลิกปิดหน้าต่าง VBA แล้วกลับไปที่สเปรดชีต

ผลลัพธ์

ทุกครั้งที่คุณเพิ่มหรือลบข้อมูลในเซลล์ ความกว้างของคอลัมน์จะปรับเปลี่ยนโดยอัตโนมัติ

การยกเลิกการตั้งค่า VBA

หากต้องการยกเลิกการทำงานอัตโนมัติ คุณสามารถทำได้ง่าย ๆ ดังนี้:

  1. เปิดหน้าต่าง VBA ตามขั้นตอนที่อธิบายข้างต้น
  2. ลบบรรทัดโค้ดที่เพิ่มไว้
  3. ปิดหน้าต่าง VBA

เมื่อยกเลิกการตั้งค่า VBA แล้ว คุณจะต้องปรับความกว้างของคอลัมน์ด้วยวิธีดั้งเดิม

สิ่งที่ควรทราบ

  1. ข้อจำกัดของการยกเลิกการทำงาน (Undo)
    การตั้งค่า VBA จะลบประวัติการ Undo ของ Excel ดังนั้นควรแน่ใจว่าการแก้ไขข้อมูลในสเปรดชีตก่อนหน้านี้เสร็จสมบูรณ์แล้ว
  2. การจัดการคอลัมน์ว่าง
    หากมีคอลัมน์ที่ไม่มีข้อมูล ความกว้างของคอลัมน์จะไม่เปลี่ยนจนกว่าจะมีการป้อนข้อมูลใหม่
  3. ผลกระทบต่อความเป็นระเบียบของข้อมูล
    แม้ว่าการปรับความกว้างของคอลัมน์อัตโนมัติจะช่วยประหยัดเวลา แต่ถ้ามีการใช้ข้อมูลที่มีข้อความยาวหรือข้อมูลในเซลล์ที่ไม่สม่ำเสมอ อาจทำให้สเปรดชีตดูไม่เรียบร้อยได้

บทสรุป

การปรับความกว้างของคอลัมน์ให้พอดีกับข้อมูลโดยอัตโนมัติด้วย VBA เป็นวิธีที่ง่ายและมีประสิทธิภาพในการจัดรูปแบบสเปรดชีต Excel ให้ดูเป็นระเบียบและใช้งานง่ายขึ้น ลองนำไปปรับใช้กับสเปรดชีตของคุณดูนะคะ

ที่มา : https://www.howtogeek.com