
ลองทำดังนี้ครับ
เปิดไฟล์โปรแแกรมและไฟล์ Sheet1 แค่ 2 ไฟล์ > ไปที่ไฟล์โปรแกรม > เข้าหน้าต่าง VBE (หากอยู่ที่ Excel กดแป้น Alt+F11) > กดแป้น Ctrl+G เพื่อเปิดหน้าต่าง Immediate Windows > คีย์
?Windows("Sheet1").Name > Enter สังเกตผลลัพธ์ที่ได้
คีย์เป็น
?Windows(1).Name > Enter สังเกตผลลัพธ์ที่ได้
เปลี่ยนเลข 1 เป็น 2 สังเกตดูผล
คำตอบที่ควรได้คือ ชื่อไฟล์ Book1 ที่ถูกต้องกับชื่อไฟล์โปรแกรมที่ถูกต้อง เมื่อได้ชื่อไฟล์ Sheet1 ที่ถูกต้องแล้วค่อยนำไปแทนที่ใน Statement
Windows("Sheet1").Activate
Code นี้ยังขาดบรรทัดที่ควรมีอีก 1 บรรทัด นั่นคือเมื่อ
Windows("Sheet1").Activate เป็นการทำให้ไฟล์ Sheet1 Active ขึ้นมาเพื่อใช้งาน ก่อนที่จะ เป็น
Cells.Select ควรเป็น
Worksheets("xyz").Select เสียก่อนเพื่อบอกว่าทำงานกับชีต xyz หากไม่มีบรรทัดนี้โปรแกรมจะทราบได้อย่างไรว่าทำงานกับชีตไหน ลองบันทึก Macro ดูใหม่เพื่อตรวจสอบว่ามีการ Generate Code มาครบถ้วนแล้วครับ