Các hàm biến động trong Excel VBA
-
Mở Trình soạn thảo Visual Basic và nhấp vào Chèn, Mô-đun.
Tạo một hàm có tên MYFUNCTION trả về tổng của ô đã chọn và ô bên dưới ô này.
-
Thêm các dòng mã sau:
Function MYFUNCTION(cell As Range) MYFUNCTION = cell.Value + cell.Offset(1, 0).Value End Function
-
Bây giờ bạn có thể sử dụng hàm này, giống như bất kỳ hàm Excel nào khác.
-
Đây là một hàm không biến động. Các hàm không thay đổi chỉ được tính toán lại khi bất kỳ đối số nào của hàm thay đổi. Thay đổi giá trị của ô B2 thành 8.
-
Bây giờ thay đổi giá trị của ô B3 thành 11.
Giải thích: hàm không bay hơi không được tính toán lại khi bất kỳ ô nào khác trên trang tính thay đổi.
-
Cập nhật hàm như sau để hàm biến động:
Function MYFUNCTION(cell As Range) Application.Volatile MYFUNCTION = cell.Value + cell.Offset(1, 0).Value End Function
-
Thay đổi giá trị của ô B3 thành 12.
Kết quả:
Lưu ý: bạn cần nhập lại hàm để làm cho nó dễ bay hơi (hoặc làm mới nó bằng cách đặt con trỏ vào thanh công thức và nhấn enter).