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

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

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

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

  • กดปุ่ม Ctrl+c, Ctrl+x, หรือ Ctrl+v เพื่อสั่ง copy, cut, หรือ paste
  • กดปุ่ม F5 เพื่อเลือกไปที่ Range Name ที่ตั้งไว้
  • กดปุ่ม Ctrl+PageUp เพื่อเลื่อนไปเลือกชีทก่อนหน้า
  • กดปุ่ม Ctrl+PageDown เพื่อเลื่อนไปเลือกชีทถัดไป

ตัวอย่างเช่น หากต้องการ copy ข้อมูลจากตารางที่มี Range Name ชื่อ Source ไป paste ลงไปในตารางชื่อ Target ซึ่งมีพื้นที่เซลล์ขนาดเท่ากัน ให้กำหนดขั้นตอนการบันทึก Macro ดังนี้

  1. กดปุ่ม F5 เลือกตารางชื่อ Source
  2. กดปุ่ม Ctrl+c เพื่อสั่ง Copy
  3. กดปุ่ม F5 เลือกตารางชื่อ Target
  4. กดปุ่ม Ctrl+v หรือกด Enter เพื่อสั่ง Paste

จะเกิดชุดคำสั่งที่มีรหัสตรงตามแต่ละขั้น ดังนี้

Application.Goto Reference:="Source"
Selection.Copy
Application.Goto Reference:= "Target"
ActiveSheet.Paste

เมื่อปรับปรุงรหัสเองให้สั้นลง

Range("Source").Copy Range("Target")

Author: สมเกียรติ ฟุ้งเกียรติEmail: This email address is being protected from spambots. You need JavaScript enabled to view it.

E-Learning

Go to top