Tùy chọn VBA rõ ràng | Làm thế nào để Bắt buộc Khai báo Biến?
Tùy chọn Excel VBA rõ ràng
Khai báo các biến rất quan trọng trong VBA, Option Explicit khiến người dùng bắt buộc phải khai báo tất cả các biến trước khi sử dụng chúng, bất kỳ biến không xác định nào sẽ gây ra lỗi khi thực thi mã, chúng ta có thể viết tùy chọn từ khóa rõ ràng hoặc chúng ta có thể bật nó cho tất cả các mã từ các tùy chọn bằng cách kích hoạt để yêu cầu khai báo biến.
Trong VBA đó là tất cả về các biến. Để lưu trữ dữ liệu, chúng ta cần các biến có kiểu dữ liệu phù hợp. Bạn có thể hỏi tôi tại sao bạn cần biến khi bạn có thể trực tiếp thêm giá trị vào chính bảng tính. Điều này chủ yếu là do nhiều người dùng sổ làm việc, nếu nó được xử lý bởi một người thì bạn có thể tham chiếu trực tiếp giá trị đến chính trang tính đó. Bằng cách khai báo các biến, chúng ta có thể tạo mã linh hoạt để lưu trữ dữ liệu.
VBA Option Explicit là gì?
Tôi hy vọng bạn đã bắt gặp từ được lót màu xanh lam “Tùy chọn rõ ràng” ở đầu mô-đun của bạn trước khi bất kỳ macro nào bắt đầu trong mô-đun đó.
Khi bắt đầu học VBA, tôi cũng không hiểu đó là gì và nói thẳng ra là tôi thậm chí không nghĩ gì về điều này cả. Không chỉ đối với tôi hay bạn mà nó cũng giống như vậy đối với tất cả mọi người khi bắt đầu. Nhưng chúng ta sẽ thấy tầm quan trọng của từ này ngay bây giờ.
“Option Explicit” là người cố vấn của chúng tôi trong việc khai báo biến. Bằng cách thêm từ này, nó làm cho việc khai báo biến trở thành một quá trình bắt buộc.
Bạn có thể tải xuống Mẫu Excel rõ ràng tùy chọn VBA này tại đây - Mẫu Excel rõ ràng tùy chọn VBAĐể biết ví dụ, hãy xem đoạn mã dưới đây để hiểu.
Mã:
Ví dụ phụ1 () i = 25 MsgBox i End Sub
Nếu tôi chạy mã này, chúng tôi sẽ nhận được giá trị của một biến “I” trong hộp thông báo trong VBA.
Bây giờ tôi sẽ thêm từ “Option Explicit” vào đầu mã VBA.
Bây giờ tôi sẽ chạy mã và xem điều gì sẽ xảy ra. Nếu bạn đang thực hành với tôi nhấn phím F5 để chạy mã.
Chúng tôi gặp lỗi biên dịch và thông báo "Biến không được xác định" . Chúng tôi đã không khai báo biến “i” nhưng ngay lập tức chúng tôi đã gán giá trị cho nó là 25.
Vì chúng ta đã thêm từ “Option Explicit”, nó buộc chúng ta phải khai báo biến một cách bắt buộc.
Trong đoạn mã trên, bảng chữ cái “i” không được khai báo, vì vậy chúng tôi đã thêm từ điều khiển biến “Option Explicit”, nó ngăn chúng tôi sử dụng các biến chưa được khai báo.
Thời điểm bạn thêm từ “Option Explicit” ở đầu mô-đun, nó có thể áp dụng cho tất cả các macro trong mô-đun cụ thể đó để khai báo các biến một cách bắt buộc.
Làm thế nào để Bắt buộc Khai báo Biến?
Nếu bạn đã thêm trình cố vấn biến “Option Explicit” theo cách thủ công trong mô-đun của mình khi bạn chèn mô-đun mới, bạn sẽ không nhận được trình cố vấn biến này theo mặc định.
Nếu bạn nghĩ rằng mỗi khi bạn cần thêm từ “Option Explicit” cho tất cả các mô-đun mới theo cách thủ công thì bạn đã nhầm.
Bởi vì chúng tôi có thể làm cho từ này trở thành bắt buộc trong tất cả các mô-đun bằng cách thực hiện một thiết lập đơn giản. Làm theo các bước dưới đây để điều chỉnh cài đặt.
Bước 1: Vào Visual basic editor.
Bước 2: Vào CÔNG CỤ và nhấp vào Tùy chọn.
Bước 3: Khi bạn nhấp vào Tùy chọn, bạn sẽ thấy cửa sổ bên dưới.
Bước 4: Trong cửa sổ này Đi tới Trình chỉnh sửa và đánh dấu vào tùy chọn “Yêu cầu Khai báo Biến” .
Bước 5: Nhấp vào OK để đóng cửa sổ.
Từ bây giờ trở đi bất cứ khi nào bạn thêm mô-đun mới, nó sẽ tự động chèn từ “Option Explicit” theo mặc định.
Tùy chọn Rõ ràng là Trình tiết kiệm của bạn
Option Explicit giúp chúng ta về nhiều mặt, ngay từ khi bắt buộc khai báo biến, nó sẽ giúp chúng ta cho đến khi thực thi. Nhìn vào đoạn mã dưới đây.
Mã:
Ví dụ phụ2 () Dim CurrentValue As Integer CurentValue = 500 MsgBox CurrentValue End Sub
Trong đoạn mã trên, tôi đã khai báo biến “CurrentValue” là một số nguyên. Trong dòng tiếp theo, tôi đã gán giá trị 500 cho nó. Nếu tôi chạy mã này, tôi sẽ nhận được 500 do kết quả trong một hộp thông báo. Nhưng hãy xem điều gì sẽ xảy ra.
Nó cho biết "Biến không được xác định" và đánh dấu dòng thứ hai.
Nếu chúng ta nhìn kỹ dòng thứ hai sẽ thấy có một lỗi chính tả nhỏ. Tên biến của tôi là “CurrentValue” nhưng ở dòng thứ hai, tôi đã bỏ sót một chính tả, tức là “r”. Nó cho biết “Giá trị hiện tại” thay vì “Giá trị hiện tại”. Vì tôi đã bắt buộc khai báo biến bằng cách thêm từ “Option Explicit” trong excel VBA, nó đã đánh dấu cho tôi lỗi chính tả mà tôi đã mắc phải.
Vì vậy, khi chúng ta sửa lỗi chính tả và chạy mã chúng ta sẽ nhận được kết quả như sau.
Chào người cố vấn biến mới được bổ nhiệm !!!