/ / Excel VBA หน้าที่ระเหย

Excel VBA หน้าที่ระเหย

ตามค่าเริ่มต้น UDF (User Defined Functions) ใน Excel VBA ไม่ระเหย พวกเขาจะคำนวณใหม่เฉพาะเมื่ออาร์กิวเมนต์ใด ๆ ของฟังก์ชันเปลี่ยนไป A ฟังก์ชันระเหย จะถูกคำนวณใหม่เมื่อใดก็ตามที่การคำนวณเกิดขึ้นในเซลล์ใด ๆ บนเวิร์กชีท ลองดูตัวอย่างง่ายๆเพื่ออธิบายเรื่องนี้อีกเล็กน้อย

1. เปิด Visual Basic Editor และคลิก Insert, Module

สร้างฟังก์ชันที่เรียกว่า MYFUNCTION ซึ่งจะแสดงผลรวมของเซลล์ที่เลือกและเซลล์ใต้เซลล์นี้

2. เพิ่มบรรทัดรหัสต่อไปนี้:

Function MYFUNCTION(cell As Range)

MYFUNCTION = cell.Value + cell.Offset(1, 0).Value

End Function

3. ตอนนี้คุณสามารถใช้ฟังก์ชันนี้เช่นเดียวกับฟังก์ชัน Excel อื่น ๆ

ฟังก์ชันไม่ระเหยใน Excel VBA

4. นี่เป็นฟังก์ชันที่ไม่ระเหย ฟังก์ชันที่ไม่ระเหยจะคำนวณใหม่เมื่ออาร์กิวเมนต์ของฟังก์ชันใด ๆ เปลี่ยนแปลงเปลี่ยนค่าของเซลล์ B2 เป็น 8

ฟังก์ชัน

5. เปลี่ยนค่าของเซลล์ B3 เป็น 11 แล้ว

การเปลี่ยนแปลงเซลล์อื่น ๆ

คำอธิบาย: ฟังก์ชัน non-volatile ไม่ได้คำนวณใหม่เมื่อมีการเปลี่ยนแปลงเซลล์อื่นในแผ่นงาน

6. ปรับปรุงฟังก์ชันดังต่อไปนี้เพื่อทำให้ฟังก์ชันมีความผันผวน:

Function MYFUNCTION(cell As Range)

Application.Volatile
MYFUNCTION = cell.Value + cell.Offset(1, 0).Value

End Function

7. เปลี่ยนค่าของเซลล์ B3 เป็น 12

ผล:

ฟังก์ชันผันผวนใน Excel VBA

(หรือรีเฟรชโดยวางเคอร์เซอร์ไว้ในแถบสูตรแล้วกด Enter)

อ่านเพิ่มเติมได้ที่: