Excel VBA Automation เปลี่ยนข้อมูลจากหลายไฟล์ให้เป็นไฟล์เดียวอัตโนมัติ

Case Study: ไฟล์ Excel ที่ถูกเรียกว่า “Miracle”

เย็นหลังเลิกงาน โทรศัพท์ดังขึ้นจากเพื่อนพนักงานคนหนึ่ง
น้ำเสียงปลายสายเต็มไปด้วยความกังวล

“พรุ่งนี้ก่อนเที่ยงต้องส่งไฟล์แล้ว แต่ข้อมูลกระจายอยู่หลายไฟล์มาก ทีมกำลังไล่รวมกันอยู่ แต่ไม่ทันแน่ ๆ”

งานที่ดูเหมือนเป็นเพียง “การรวมไฟล์ Excel”
แท้จริงแล้วคือปัญหาที่ซ่อนความซับซ้อนอยู่มากกว่านั้น

แต่ละไฟล์มีหลายชีต
แต่ละชีตคือ “งานประเภทเดียวกัน” ที่กระจายอยู่คนละไฟล์

หากใช้วิธี Copy/Paste ด้วยมือ
ไม่เพียงเสียเวลา แต่ยังมีความเสี่ยงผิดพลาดสูง และแทบไม่มีทางทำเสร็จทันเวลาที่เหลืออยู่

ผมตอบกลับไปสั้น ๆ

“ส่งไฟล์มาทางอีเมลก่อน เดี๋ยวผมดูให้”


จาก “การรวมไฟล์” สู่การ “เปลี่ยนโครงสร้างข้อมูล”

หลังกลับถึงบ้านประมาณหนึ่งทุ่ม
แทนที่จะได้พักหลังเลิกงาน ผมกลับเปิด Excel และเริ่มวิเคราะห์โครงสร้างข้อมูลทันที

สิ่งที่ต้องทำไม่ใช่แค่ “รวมข้อมูล”
แต่ต้อง “เปลี่ยนโครงสร้างการจัดเก็บใหม่ทั้งหมด”

จากเดิมที่

  • 1 ไฟล์ มีหลายงาน

ต้องกลายเป็น

  • 1 งาน อยู่ในไฟล์เดียว

เพื่อให้ทีมสามารถบริหารจัดการ แยกส่ง และตรวจสอบได้ง่ายขึ้น


ออกแบบ Automation ภายในเวลาอันจำกัด

ผมเริ่มเขียน VBA Automation ขึ้นมาใหม่แบบเร่งด่วน

ตัวโปรแกรมถูกออกแบบให้สามารถ

  • เปิดอ่านไฟล์จำนวนมากอัตโนมัติ
  • ค้นหาเฉพาะชีตที่ต้องการ
  • ดึงข้อมูลจากทุกไฟล์มาเก็บรวมกันในหน่วยความจำ
  • สร้าง Workbook ใหม่แยกตามประเภทงาน
  • คงรูปแบบ Format เดิมทั้งหมดไว้
  • ตั้งชื่อชีตและไฟล์อัตโนมัติ
  • ลดเวลาในการประมวลผลด้วยการปิด Screen Updating และ Calculation ชั่วคราว
  • รองรับกรณี Error ระหว่างประมวลผลโดยไม่หยุดทั้งงาน

แม้ภายนอกจะดูเหมือน “Excel Macro”
แต่แนวคิดภายในคือการทำ Data Transformation และ Batch Processing อย่างเป็นระบบ


เบื้องหลังที่คนไม่เห็น

โค้ดส่วนสำคัญใช้ Dictionary และ Array
เพื่อจัดกลุ่มข้อมูลจากหลายไฟล์อย่างรวดเร็ว

แทนที่จะทำงานแบบ Cell-by-Cell
ซึ่งจะช้ามากเมื่อข้อมูลมีจำนวนมาก

ระบบจะ

  1. อ่านรายชื่อชีตที่ต้องการรวม
  2. เปิดไฟล์ต้นทางทั้งหมดอัตโนมัติ
  3. ตรวจสอบว่ามีชีตที่ต้องการหรือไม่
  4. ดึงข้อมูลเข้า Memory
  5. จัดกลุ่มข้อมูลตามชื่อชีต
  6. สร้างไฟล์ใหม่แยกตามประเภทงาน
  7. Copy Format เดิมให้เหมือนต้นฉบับ
  8. Save ออกมาเป็นไฟล์ใหม่พร้อมใช้งานทันที

ทั้งหมดนี้เกิดขึ้นภายในเวลาประมาณ 1 ชั่วโมงครึ่ง
รวมทั้งเขียน ทดสอบ แก้ปัญหา และลองใช้งานจริง


“นี่มันไฟล์ Miracle ชัด ๆ”

หลังจากส่งกลับไปให้ทีมทดลองใช้งาน

ผลลัพธ์คือ
ระบบสามารถสร้างไฟล์ใหม่ทั้งหมดได้อัตโนมัติภายในเวลาไม่กี่นาที

งานที่เดิมต้องใช้คนหลายคนช่วยกันทำ
กลับเหลือเพียงการกดปุ่มครั้งเดียว

ทีมสามารถส่งงานได้ทันก่อนกำหนด

และสิ่งที่ผมจำได้จนถึงวันนี้คือคำพูดจากเพื่อนพนักงานคนนั้น

“นี่มันไฟล์ Miracle ชัด ๆ”

เพราะถ้าให้ทีมของเขาซึ่งมีคนเป็นสิบช่วยกันทำแบบ Manual
ก็แทบไม่มีทางทำเสร็จทันเวลาอันจำกัดขนาดนั้น


บางครั้ง “Miracle” คือประสบการณ์ที่สะสมมา

สำหรับหลายคน
นี่อาจเป็นเพียงไฟล์ Excel ไฟล์หนึ่ง

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

และบางครั้ง
สิ่งที่ผู้คนเรียกว่า “Miracle”

อาจเป็นเพียงผลลัพธ์ของประสบการณ์
การมองเห็น Pattern ของปัญหา
และการลงมือแก้ไขมันอย่างเงียบ ๆ ในคืนหลังเลิกงานเท่านั้น

Scroll to Top