VBA จะช่วยนำตารางจาก Sheet1, Sheet2, Sheet3 ไปเก็บเรียงต่อกันในชีทชื่อ Combine ได้ง่ายมากครับ ไม่ต้องไปพึ่งแอปอื่นแม้แต่น้อย
จะเอาตารางจากชีทไหนไปวางไว้ก่อนด้านบนด้านล่าง เพียงเข้าไปในชีทนั้นแล้วคลิกที่ลูกศรตามที่เห็นในภาพนี้หรือกดปุ่ม Ctrl+q ข้อมูลจะถูกส่งไปเก็บต่อกันให้ทันที
รหัสที่ใช้มีเพียง 3 บรรทัด
MyVar = [Source]
[Target] = MyVar
MsgBox "ส่งข้อมูลไปเก็บแล้ว"
ลอง Download เอาตัวอย่างนี้ไปแกะดูได้จาก
https://drive.google.com/file/d/16zZzoDbyN7pI90x_WLKu-ehTplfB3T51/view?usp=sharing
ชมคลิปได้จาก https://vimeo.com/832844308/f8c8a2fa01
ถ้าอยากให้เก็บข้อมูลจากทุกชีทโดยอัตโนมัติก็เพียงเพิ่มคำสั่งให้ทำงานแบบ Loop ลงไป แต่ผมว่าวิธีนี้ดีกว่าเพราะเราเลือกชีทที่ต้องการได้ด้วยว่าจะให้ข้อมูลไปเก็บก่อนหลัง
เคล็ดที่ช่วยทำให้รหัส VBA สั้นเหลือนิดเดียวนี้ เป็นเรื่องที่ไม่มีในตำรา ผมนำมาเปิดเผยในหลักสูตรเคล็ดการเพิ่มผลงานลดความซับซ้อนในการทำงานด้วย Excel VBA+Macro
++++++++++++++++++++++++++++++++++++
ตัวอย่างเพิ่ม กรณีต้องการให้เก็บข้อมูลทุกชีทอัตโนมัติ
Download ตัวอย่างได้จาก
https://drive.google.com/file/d/1fScmyerkYul7wqDZWhwNuK-F__NPEdXS/view?usp=sharing