🔻 View Code(VBA)を使用してExcelの列を自動調整する
短いステップ。
1️⃣シートの名前を右クリックします。
ビューコードを選択
2️⃣このコードを削除してください。
Activate()_プライベートなサブワークシート
列。オートフィット。
エンドサブ
ถ้าใครเริ่มหัดใช้ VBA ใน Excel แล้วเจอปัญหา “คอลัมน์กว้างไม่พอดี” โดยเฉพาะไฟล์ที่มีหัวตารางอย่าง วันที่, รายชื่อลูกค้า, รายการสินค้า, จำนวน, ราคา พอมีข้อมูลยาวๆ เข้ามาทีไรต้องมานั่งดับเบิลคลิกปรับความกว้างตลอด บอกเลยว่าแก้ด้วย VBA ได้ง่ายมาก และเป็นงานอัตโนมัติที่คุ้มสุดๆ แนวคิดของโค้ดนี้คือให้ Excel “ปรับคอลัมน์ให้พอดีกับข้อความ” ทุกครั้งที่เราเข้าไปที่ชีทนั้น (Activate) ทำให้เปิดชีทเมื่อไหร่ ตารางจะดูเรียบร้อยทันที ไม่ต้องกด AutoFit เอง วิธีใช้งาน (ทำครั้งเดียวแล้วจบ) 1) ไปที่แท็บชีทด้านล่าง (เช่น Sheet1) แล้วคลิกขวา 2) เลือก View Code 3) จะเปิดหน้าต่าง Microsoft Visual Basic for Applications ขึ้นมา ให้เลือกออบเจ็กต์ของชีทนั้น 4) วางโค้ดในช่องว่างของชีท: Private Sub Worksheet_Activate() Columns.AutoFit End Sub ทิปที่ผมใช้จริงแล้วช่วยมาก - ถ้าชีทมีหลายตารางและไม่อยากให้ทั้งชีท AutoFit ทั้งหมด (บางทีทำให้คอลัมน์แคบ/กว้างเกิน) ให้จำกัดช่วงคอลัมน์ เช่น A:E Private Sub Worksheet_Activate() Columns("A:E").AutoFit End Sub - ถ้ามีคอลัมน์ “ราคา/จำนวน” ที่อยากให้คงความกว้างเท่าๆ กัน ไม่อยากให้ AutoFit แล้วแกว่งไปมา ให้ AutoFit เฉพาะคอลัมน์ข้อความ เช่น B:D แล้วล็อกคอลัมน์ตัวเลขไว้ Private Sub Worksheet_Activate() Columns("B:D").AutoFit Columns("E:F").ColumnWidth = 12 End Sub ข้อควรระวังเล็กน้อย - ไฟล์ต้องบันทึกเป็น .xlsm (Macro-Enabled) ไม่งั้นโค้ดจะไม่ทำงาน - ถ้าข้อมูลในชีทเยอะมากๆ การ AutoFit ทุกครั้งที่เข้าอาจหน่วงนิดนึง แนะนำจำกัดช่วงคอลัมน์ที่จำเป็น - ถ้าเปิดไฟล์แล้ว Macro ถูกปิด (Disable) โค้ดจะไม่รัน ต้องกด Enable Content ก่อน โดยรวมถือเป็น VBA ใน Excel ที่เหมาะกับมือใหม่มาก เพราะสั้น เข้าใจง่าย และเห็นผลทันที โดยเฉพาะงานตารางขาย/สต็อก/รายชื่อลูกค้า ที่ข้อมูลเปลี่ยนทุกวัน


