Excel ฟ้องให้ Update ทุกครั้งที่เปิดไฟล์

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

 😐 ปัญหาเกิดจากอะไร?

ลักษณะดังกล่าวเกิดจากสาเหตุใหญ่ 3 ประการคือ

  1. มี Range name แบบข้ามไฟล์
  2. มี Validation ที่นำ Range Name ข้ามไฟล์มาใช้
  3. ไฟล์ต้นทางตามข้อ 1 และ 2 ถูกลบหรือย้ายตำแหน่งไปแล้ว

 💡 มีวิธีแก้ไขตามด้านล่าง

  1. ลบ Define Name แบบข้ามไฟล์ที่ไม่ทราบที่มาทิ้งทั้งหมด โดยเข้าเมนู Formulas > Name Manager > เลือก Range Name > คลิกปุ่ม Delete กรณีที่เป็น Range Name ที่ซ่อนไว้จะมองไม่เห็นในกล่องโต้ตอบนี้ ต้องตรวจสอบและลบทิ้งด้วย VBA
  2. ลบ Validation ที่อ้างอิงแบบ Range Name ข้ามไฟล์ที่สัมพันธ์กับข้อ 1 ทิ้ง

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

กรณีมีปัญหาการใช้งาน Microsoft Excel and VBA สอบถามได้ที่ snasui.com ครับ