Page 1 of 1

ผม copy ไฟล์ xlsm ที่มี vba อยู่เวลาเอามาเปิดครั้งแรกทำไม vba ไม่ทำงาน ต้องsavปิดแล้วเปิดใหม่ถึงได้ ต้องแก้ยังไงครับ

Posted: Mon Jun 20, 2022 2:19 pm
by 10idlnw
ผม copy ไฟล์ xlsm ที่มี vba อยู่แล้วเวลาเอามาเปิดครั้งแรกทำไม vba ไม่ทำงาน ทั้งๆที่กำหนดเป็น workbook_open ต้องsaveเปล่าๆแล้วปิดรอบนึงก่อนให้เหมือนถูกแก้ไข(date modified) แล้วเปิดใหม่ macro ถึงทำงาน ต้องแก้ยังไงครับ
2022-06-20_14-12-58.jpg

Re: ผม copy ไฟล์ xlsm ที่มี vba อยู่เวลาเอามาเปิดครั้งแรกทำไม vba ไม่ทำงาน ต้องsavปิดแล้วเปิดใหม่ถึงได้ ต้องแก้ยังไงครับ

Posted: Mon Jun 20, 2022 3:10 pm
by snasui
:D คาดว่าเกิดจากการใช้ Named range ที่เป็น Volatile function เช่น

CELL("filename")

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

CELL("filename",$A$1)

สำหรับงานนี้ หากเป็นไปได้ควรจะใช้ VBA ในการจัดการตัวแปรต่าง ๆ จะเสถียรกว่าครับ

Re: ผม copy ไฟล์ xlsm ที่มี vba อยู่เวลาเอามาเปิดครั้งแรกทำไม vba ไม่ทำงาน ต้องsavปิดแล้วเปิดใหม่ถึงได้ ต้องแก้ยังไงครับ

Posted: Mon Jun 20, 2022 6:06 pm
by 10idlnw
ขอบคุณครับอาจารย์