การจัดรูปแบบสเปรดชีต 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
หากต้องการยกเลิกการทำงานอัตโนมัติ คุณสามารถทำได้ง่าย ๆ ดังนี้:
- เปิดหน้าต่าง VBA ตามขั้นตอนที่อธิบายข้างต้น
- ลบบรรทัดโค้ดที่เพิ่มไว้
- ปิดหน้าต่าง VBA
เมื่อยกเลิกการตั้งค่า VBA แล้ว คุณจะต้องปรับความกว้างของคอลัมน์ด้วยวิธีดั้งเดิม
สิ่งที่ควรทราบ
- ข้อจำกัดของการยกเลิกการทำงาน (Undo)
การตั้งค่า VBA จะลบประวัติการ Undo ของ Excel ดังนั้นควรแน่ใจว่าการแก้ไขข้อมูลในสเปรดชีตก่อนหน้านี้เสร็จสมบูรณ์แล้ว - การจัดการคอลัมน์ว่าง
หากมีคอลัมน์ที่ไม่มีข้อมูล ความกว้างของคอลัมน์จะไม่เปลี่ยนจนกว่าจะมีการป้อนข้อมูลใหม่ - ผลกระทบต่อความเป็นระเบียบของข้อมูล
แม้ว่าการปรับความกว้างของคอลัมน์อัตโนมัติจะช่วยประหยัดเวลา แต่ถ้ามีการใช้ข้อมูลที่มีข้อความยาวหรือข้อมูลในเซลล์ที่ไม่สม่ำเสมอ อาจทำให้สเปรดชีตดูไม่เรียบร้อยได้
บทสรุป
การปรับความกว้างของคอลัมน์ให้พอดีกับข้อมูลโดยอัตโนมัติด้วย VBA เป็นวิธีที่ง่ายและมีประสิทธิภาพในการจัดรูปแบบสเปรดชีต Excel ให้ดูเป็นระเบียบและใช้งานง่ายขึ้น ลองนำไปปรับใช้กับสเปรดชีตของคุณดูนะคะ
ที่มา : https://www.howtogeek.com