การรีเฟรชผลลัพธ์ฟังก์ชัน VBA ใน Excel: คู่มือที่สมบูรณ์
เมื่อทำงานกับ Excel ผู้ใช้หลายคนพึ่งพาพลังของ ฟังก์ชันที่ผู้ใช้กำหนด (UDFs) เพื่อทำการคำนวณเฉพาะทาง อย่างไรก็ตาม คุณอาจพบปัญหาทั่วไป: UDF ของคุณไม่ประเมินผลใหม่โดยอัตโนมัติหลังจากที่เปลี่ยนข้อมูลที่เกี่ยวข้องในสเปรดชีตของคุณ ซึ่งอาจทำให้คุณรู้สึกหงุดหงิด โดยเฉพาะอย่างยิ่งหากคุณใช้เวลาในการสร้างฟังก์ชันที่ซับซ้อน
ในโพสต์นี้ เราจะสำรวจวิธีทำให้ฟังก์ชัน VBA ของคุณใน Excel รีเฟรชโดยอัตโนมัติเมื่อใดก็ตามที่ข้อมูลรอบ ๆ เปลี่ยนแปลง
ทำความเข้าใจกับปัญหา
คุณอาจสังเกตเห็นว่าหลังจากทำการเปลี่ยนแปลงข้อมูลของคุณแล้ว การกด F9
หรือแม้กระทั่ง Shift
+ F9
ดูเหมือนจะไม่อัปเดตผลลัพธ์ที่สร้างโดยฟังก์ชันที่ผู้ใช้กำหนด วิธีแก้ปัญหาเดียวที่คุณพบคือต้องแก้ไขเซลล์ที่มีฟังก์ชันและกด Enter ซึ่งไม่เป็นวิธีที่เหมาะในการทำให้กระบวนการทำงานของคุณรวดเร็วขึ้น
ทำไม UDF ของฉันถึงไม่รีเฟรชโดยอัตโนมัติ?
ฟังก์ชันที่ผู้ใช้กำหนดใน Excel โดยค่าเริ่มต้นจะไม่ประเมินผลใหม่โดยอัตโนมัติ เว้นแต่จะตั้งค่าให้ทำเช่นนั้น ข้อจำกัดนี้หมายความว่า ถึงแม้ว่าข้อมูลของคุณจะเปลี่ยนแปลง UDF ของคุณอาจให้ผลลัพธ์เก่าได้ เว้นแต่จะได้รับคำสั่งโดยตรงให้คำนวณใหม่
วิธีแก้ปัญหา: ทำให้ UDF ของคุณเป็นแบบไม่คงที่
ในการแก้ไขปัญหานี้ คุณสามารถทำให้ฟังก์ชันที่ผู้ใช้กำหนดของคุณ ไม่คงที่
การทำให้ฟังก์ชันไม่คงที่จะทำให้มันคำนวณใหม่ทุกครั้งที่ Excel คำนวณใหม่ ซึ่งรวมถึงการเปลี่ยนแปลงในเซลล์อื่น ๆ ทั่วทั้งสมุดงาน
วิธีการใช้ Application.Volatile
นี่คือขั้นตอนง่าย ๆ ในการปรับปรุง UDF ของคุณเพื่อรวมวิธี Application.Volatile
-
เปิดตัวแก้ไข VBA ของคุณ: กด
ALT
+F11
เพื่อเปิดตัวแก้ไข VBA ใน Excel -
ค้นหาฟังก์ชันของคุณ: ค้นหาฟังก์ชันที่เกี่ยวข้องในโปรเจ็กต์ของคุณ ตัวอย่างเช่น หากคุณมีฟังก์ชันที่ทำให้ตัวเลขสองเท่า คุณจะต้องมองหามันในโมดูล VBA ของคุณ
-
แทรก
Application.Volatile
: ที่จุดเริ่มต้นของฟังก์ชันของคุณ ให้ใส่บรรทัดApplication.Volatile
นี่คือตัวอย่างง่าย ๆ ของวิธีที่ฟังก์ชันของคุณควรมีลักษณะหลังการปรับปรุง:
Function doubleMe(d) Application.Volatile doubleMe = d * 2 End Function
คำอธิบายของโค้ด
- คำสั่ง
Application.Volatile
จะทำให้ฟังก์ชันนี้ไม่คงที่ - การทำเช่นนี้จะทำให้ฟังก์ชันทำงานทุกครั้งที่ Excel คำนวณใหม่ (เมื่อมีการเปลี่ยนแปลงในเซลล์อื่น)
- ผลที่ได้คือผลลัพธ์ของคุณจะสะท้อนสถานะล่าสุดของข้อมูลเสมอ
การตั้งค่าการคำนวณอัตโนมัติใน Excel
เพื่อให้แน่ใจว่าฟังก์ชันไม่คงที่ของคุณทำงานได้อย่างมีประสิทธิภาพ ให้ตรวจสอบว่าการตั้งค่า Excel ของคุณถูกกำหนดสำหรับการคำนวณอัตโนมัติ:
- ไปที่แท็บ Formulas: คลิกที่แท็บ “ฟังก์ชัน” (Formulas) ใน Ribbon
- เลือกตัวเลือกการคำนวณ: ในกลุ่มการคำนวณ (Calculation) ให้ตรวจสอบว่าตัวเลือก “อัตโนมัติ” (Automatic) ได้ถูกเลือก
ด้วยการตั้งค่านี้ UDF ของคุณจะอัปเดตโดยอัตโนมัติตามการเปลี่ยนแปลง ทำให้ประสบการณ์ในการใช้งาน Excel ของคุณมีประสิทธิภาพและปราศจากข้อผิดพลาดมากยิ่งขึ้น
สรุป
ในคู่มือนี้ เราได้กล่าวถึงปัญหาทั่วไปที่ผู้ใช้ Excel เผชิญเกี่ยวกับฟังก์ชันที่ผู้ใช้กำหนดที่ไม่รีเฟรชตามที่คาดหวัง โดยการใช้ Application.Volatile
คุณสามารถทำให้การคำนวณของคุณเป็นไปอย่างราบรื่นและทำให้สมุดงานของคุณอัปเดตโดยที่ไม่ต้องทำการแทรกแซงด้วยตนเอง
อย่าลืมตรวจสอบการตั้งค่าของคุณให้พร้อม เพื่อใช้ประโยชน์จากฟังก์ชัน VBA ของคุณอย่างเต็มที่ ขอให้คำนวณได้สนุก!