Biến tĩnh VBA vẫn giữ nguyên giá trị của nó ngay cả khi thủ tục kết thúc.
Khai báo một biến tĩnh
Bạn khai báo biến Static bằng từ khóa Static như hình bên dưới:
123456789 | Khai báo phụAStaticVariable ()Static myVariable As IntegerMsgBox myVariablemyVariable = myVariable + 2Phạm vi ("A1"). Giá trị = myVariableKết thúc Sub |
Lần đầu tiên bạn nhấn F5, bạn nhận được hộp Thông báo hiển thị giá trị ban đầu của myVariable là 0. Giá trị của 2 được đặt trong ô A1.
Nếu bạn nhấn F5 lại ngay sau đó, bạn sẽ nhận được hộp Thông báo sau hiển thị giá trị của myVariable là 2 và giá trị là 4, được đặt trong trang tính của bạn ở ô A1.
Như bạn có thể thấy biến vẫn giữ nguyên giá trị của nó ngay cả khi Thủ tục phụ kết thúc, nếu bạn sử dụng từ khóa Dim thay vì từ khóa Static để khai báo biến, Hộp thông báo sẽ luôn hiển thị giá trị bằng 0. Ngoài ra, kết quả trong ô A1, sẽ là 2, mỗi khi bạn nhấp vào F5. Vì biến sẽ không giữ nguyên giá trị của nó khi Thủ tục phụ kết thúc.