06/04/2021, 14:51

Option Explicit VBA: Ràng buộc khai báo biến trước khi sử dụng - ự học Excel VBA

Trong bài này mình sẽ hướng dẫn bạn cách sử dụng tùy chọn Option Explicit trong VBA, đây là cách giúp mã code VBA của bạn hoạt động nghiêm túc hơn bởi mọi biến đều phải được khai báo trước khi sử dụng. 1. Không sủ dụng Option Explicit Các ngôn ngữ khác như C/ C++ rất nghiêm túc trong việc khai ...

Trong bài này mình sẽ hướng dẫn bạn cách sử dụng tùy chọn Option Explicit trong VBA, đây là cách giúp mã code VBA của bạn hoạt động nghiêm túc hơn bởi mọi biến đều phải được khai báo trước khi sử dụng.

1. Không sủ dụng Option Explicit

Các ngôn ngữ khác như C/ C++ rất nghiêm túc trong việc khai báo biến, nếu bạn cố tình sử dụng một biến chưa được định nghĩa thì lập tức nhận lỗi ngay.

Nhưng trong VBA thì khác, có một số trường hợp bạn sử dụng sai biến nhưng trình biên dịch vẫn chấp nhận và xem đó là một giá trị rỗng.

Ví dụ: Đoạn code sau đây mình viết tên biến của myVar thành mVar nên bị sai.

Dim myVar As Integer
myVar = 10
Range("A1").Value = mVar

Mục đich của mình là gán giá trị của myVar (tức số 10) vào ô A1. Tuy nhiên, khi chạy đoạn code đó thì ô A1 nhận một giá trị rỗng, nguyên nhân là mình đã sử dụng sai tên biến từ myVar thành mVar.

without option explicit png

Bạn thấy đó, việc chấp nhận một biến chưa được khai báo khiến ta khó phát hiện ra lỗi, vì vậy tốt nhất bạn nên sử dụng tùy chọn Option Explicit để giúp chương trình dễ debug hơn.

2. Sử dụng Option Explicit

Để sử dụng Option Explicit thì bạn chỉ cần đặt nó ở phía trên cùng của file là được.

Option Explicit
' ... code VBA phía dưới

Quay trở lại ví dụ trên, khi mình sử dụng Option Explicit thì lập tức nhận được một thông báo lỗi và Visual Editor cũng chỉ rõ đang lỗi ở Sub nào.

use option explicit png

Thông báo lỗi.

variable not defined png

Hãy click Ok và sửa lại tên biến từ mVar thành myVar, sau đó chạy lại thì ta thu được kết quả như mong muốn.

with option explicit png

Bây giờ thì bạn đã biết tại sao nên đặt đoạn code Option Explicit ở đầu file VBA rồi phải không nào? Nó giúp ta tránh khỏi những sai sót trong việc nhập tên biến.

3. VBA tự động thêm Option Explicit

Việc thêm một đoạn code Option Explicit vào đầu mỗi file đôi khi gây phiền hà cho nhiều người.

Nếu bạn muốn mặc định VBA tự kiểm tra khai báo biến mà không cần thêm dòng đó thì làm như sau:

1. Trong Visual Basic Editor, click Tools và chọn Options.

2. Check vào dòng Require Variable Declaration.

require variable declaration png

3. Nhấn OK là xong.

* Lưu ý: Visual Basic sẽ không tự động thêm dòng Option Explicit vao đầu file, mà nó chỉ kiẻm tra ràng buộc cho bạn mà thôi. Vì vậy, nếu bạn có chia sẻ file Excel này cho người khác thì tốt nhất hãy tự mình thêm vào nhé.

Trịnh Tiến Mạnh

27 chủ đề

6824 bài viết

Cùng chủ đề
0