1. 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.

  1. Thêm các dòng mã sau:

Function MYFUNCTION(cell As Range)

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

End Function
  1. 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.

Non-volatile Function in Excel VBA

  1. Đâ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.

Function’s Argument Changes

  1. Bây giờ thay đổi giá trị của ô B3 thành 11.

Any Other Cell Changes

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.

  1. 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
  1. Thay đổi giá trị của ô B3 thành 12.

Kết quả:

Volatile Function in Excel VBA

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).