พยายามหลีกเลี่ยงการใช้ 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 ดังนี้
- กดปุ่ม F5 เลือกตารางชื่อ Source
- กดปุ่ม Ctrl+c เพื่อสั่ง Copy
- กดปุ่ม F5 เลือกตารางชื่อ Target
- กดปุ่ม Ctrl+v หรือกด Enter เพื่อสั่ง Paste
จะเกิดชุดคำสั่งที่มีรหัสตรงตามแต่ละขั้น ดังนี้
Application.Goto Reference:="Source"
Selection.Copy
Application.Goto Reference:= "Target"
ActiveSheet.Paste
เมื่อปรับปรุงรหัสเองให้สั้นลง
Range("Source").Copy Range("Target")