Biến công khai VBA | Cách khai báo các biến công khai trong VBA (Ví dụ)

Biến công khai trong VBA

“Biến công khai” trong VBA, như tên cho thấy là các biến được khai báo để sử dụng công khai cho tất cả các macro mà chúng tôi viết trong cùng một mô-đun cũng như trong các mô-đun khác nhau. Vì vậy, khi các biến được khai báo ở đầu bất kỳ macro nào được gọi là "Biến công khai" hoặc "Biến toàn cục".

Làm thế nào để khai báo các biến công khai trong VBA?

Thông thường, chúng tôi bắt đầu quy trình con VBA và bên trong quy trình con, chúng tôi khai báo các biến của mình. Đây là cách làm phổ biến mà tất cả chúng ta đã làm cho đến bài viết này.

Bạn có thể tải xuống Mẫu Excel biến công khai VBA này tại đây - Mẫu Excel biến công khai VBA

Mỗi khi chúng ta viết một chương trình con mới, chúng ta khai báo các biến mới với các kiểu dữ liệu được gán cho chúng. Nhưng hôm nay chúng ta sẽ nói lời tạm biệt với các biến lặp lại trên các quy trình con.

Hãy hồi tưởng lại phong cách cũ, dưới đây là đoạn mã tôi đã viết với một biến duy nhất.

Trong thủ tục phụ “Public_Variable” tôi đã khai báo biến này. Bây giờ tôi không thể sử dụng bất kỳ mô-đun nào khác.

Bây giờ trong quy trình con “Public_Variable1”, chúng ta không thể sử dụng biến “Var1” đã được khai báo trong quy trình con đầu tiên “Public_Variable”. Đây là hạn chế của việc khai báo các biến bên trong các chương trình con.

# 1 - Biến mức mô-đun

Như chúng ta đều biết chúng ta viết macro trong các mô-đun, chúng tôi có thể chèn một số mô-đun. Chúng ta có thể khai báo hai loại “Biến công khai” trong VBA, một là sử dụng các biến cho tất cả các chương trình con trong cùng một mô-đun và loại thứ hai là sử dụng các biến cho tất cả các chương trình con trên tất cả các mô-đun.

Đầu tiên, chúng ta sẽ thấy việc khai báo các biến công khai trong VBA ở cấp độ mô-đun.

Để sử dụng các biến cho tất cả các quy trình con trong cùng một mô-đun, chúng ta cần khai báo các biến ở đầu mô-đun trước khi bắt đầu bất kỳ macro nào.

Dưới đây là ảnh chụp màn hình ví dụ để bạn hiểu.

Như chúng ta có thể thấy trong hình trên, tôi đã khai báo hai biến trước khi bắt đầu bất kỳ macro nào trong mô-đun. Bây giờ, hai biến này có thể được sử dụng trong bất kỳ số lượng macro nào trong mô-đun này.

Bên trong quy trình con bắt đầu nhập tên biến, bạn có thể thấy danh sách IntelliSense sẽ hiển thị tên biến.

Bây giờ chúng ta có thể sử dụng các biến này trong tất cả các macro mà chúng ta viết trong “Module1”.

Các biến này chỉ được sử dụng trong mô-đun này. Ví dụ, bây giờ tôi sẽ chèn thêm một mô-đun và viết một macro mới.

Trong Module2, tôi không thể sử dụng các biến mà chúng tôi đã khai báo trong “Module1”.

Vì vậy, làm thế nào chúng ta có thể công khai các biến này trong VBA để sử dụng trên tất cả các mô-đun và trên tất cả các thủ tục phụ?

# 2 - Khai báo các Biến sử dụng chúng Công khai

Quay lại “Module1” trong mô-đun này, chúng ta đã khai báo các biến trước khi bắt đầu viết cách của macro và cũng là thế giới chúng ta đã sử dụng để khai báo các biến đó.

Cách truyền thống của chúng tôi là sử dụng từ “DIM”, chúng tôi đã khai báo các biến này.

Khi chúng tôi chỉ sử dụng từ “DIM”, nó chỉ giới hạn được sử dụng trên tất cả các macro nhưng trong cùng một mô-đun.

Thay vì từ “DIM”, chúng ta cần sử dụng từ “CÔNG KHAI” hoặc “TOÀN CẦU” để làm cho chúng có sẵn để sử dụng trên tất cả các mô-đun của macro.

Tôi đã sử dụng từ "Toàn cầu" để công khai khai báo biến. Bạn cũng có thể sử dụng từ “Công khai”.

Vì vậy, bằng cách sử dụng các từ “Toàn cầu” và “Công khai”, chúng ta có thể khai báo các biến có thể được sử dụng cho tất cả các macro trên các mô-đun.

Những điều cần ghi nhớ

  • Việc khai báo các biến một cách công khai là một thực tiễn tốt nhưng cần có nhiều kinh nghiệm trước khi khai báo chúng.
  • Khi các macro được bắt đầu chạy trên giá trị của biến macro sẽ giống nhau.
  • Chỉ gán giá trị cụ thể cho biến bên trong macro cụ thể để tránh bất kỳ loại nhầm lẫn nào.

$config[zx-auto] not found$config[zx-overlay] not found