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

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

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

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

สาเหตุที่คิดว่าจะต้องใช้ Excel VBA หรือ Macro ทั้งๆที่ยังไม่ถึงขั้น ยังไม่จำเป็นต้องใช้ มักเป็นเพราะยังไม่รู้จัก Excel ดีพอว่าสิ่งที่ต้องการนั้นมีทางอื่นทำได้อยู่แล้ว พอคิดไม่ออกเลยนึกไปว่าต้องพึ่ง VBA

นอกจาก Excel VBA แล้ว Excel ยังสามารถทำงานแบบอัตโนมัติได้อีกโดยเลือกใช้คำสั่งบนเมนูหรือจะเลือกใช้สูตร เมนูกับสูตรต่างกันตรงที่สิ่งที่ได้จากการใช้เมนูนั้น Excel จะไม่ทำใหม่ให้เองแต่ผู้ใช้ Excel ต้องใช้มือเลือกคำสั่งบนเมนูซ้ำใหม่เอง ส่วนการใช้สูตรจะช่วยทำให้ Excel ทำงานแบบอัตโนมัติให้เอง

รายงานสินค้าหรือใบเสนอราคาใบแจ้งหนี้ตามที่ต้องการนี้ สามารถใช้ Excel ทำงานแบบอัตโนมัติได้หลายทาง เช่น

  • ใช้คำสั่ง Filter บนเมนูก็ได้ หรือ
  • ใช้สูตร Multiple Match + Index ก็ได้ หรือ
  • ใช้สูตรหาค่ามาแสดงแล้วใช้ VBA ช่วยในการสั่งพิมพ์เอกสาร หรือ
  • ใช้ Macro Recorder บันทึกการใช้ Filter และสั่งพิมพ์ หรือ
  • เขียนรหัส VBA ขึ้นมาเองเพื่อทำงานทุกขั้นตอนทั้งหมด

จะเลือกใช้วิธีไหน ขอให้เลือกให้เหมาะสมกับคนที่จะใช้แฟ้ม อย่าเกินความสามารถของคนสร้าง หรือผู้ที่จะต้องรับหน้าที่ปรับปรุงแก้ไขแฟ้มในอนาคต

 

Northwind

 

Download แฟ้มตัวอย่างได้จาก

https://excelexperttraining.com/extreme/files/database/accessdbf.zip