Tiếp theo, Mytour sẽ chia sẻ các thông tin quan trọng về VBA trong Excel. Bạn cũng có thể tham khảo thêm các bài viết khác trên Mytour để hiểu rõ hơn về cách sử dụng Autofilter trong VBA.
1. Thêm mã trong VB Editor
Cách thêm mã VBA trong Excel có 2 điểm chính:
- Sử dụng cửa sổ mã của đối tượng, đối tượng có thể là workbook, bảng tính, biểu mẫu người dùng, ... .
- Sử dụng cửa sổ mã của một module.
1.1 Sử dụng cửa sổ Module kết hợp với cửa sổ mã của đối tượng
Đầu tiên, Mytour sẽ giới thiệu sự khác biệt giữa việc thêm mã trong cửa sổ module và việc thêm mã trong cửa sổ mã của đối tượng.
Khi thêm mã vào một đối tượng nào đó, nó sẽ phụ thuộc vào các hành động của đối tượng để kích hoạt mã. Ví dụ, nếu muốn ẩn tất cả các bảng tính trong workbook ngay khi mở workbook, mã sẽ được kích hoạt thông qua đối tượng ThisWorkbook (đại diện cho workbook).
Tương tự, để bảo vệ một bảng tính sau khi bảng tính khác được kích hoạt, mã sẽ xuất hiện trong cửa sổ mã của bảng tính.
Các sự kiện (event) như vậy có thể liên kết với mã để thực thi khi sự kiện xảy ra.
Ngược lại, mã trong module phải được thực thi bằng tay hoặc có thể được gọi từ các chương trình con khác.
Khi chúng ta tạo và ghi một macro, Excel sẽ tự động tạo module và chèn mã macro vào đó. Để chạy mã này, chúng ta phải thực thi macro theo cách thủ công.
1.2 Thêm mã VBA trong module
Trong quá trình tạo một macro, nó sẽ tự động tạo module và chèn mã vào đó. Tuy nhiên, khi sử dụng macro recorder, vẫn tồn tại một số hạn chế, như không thể sử dụng các vòng lặp hay các điều kiện If Then Else.
Trong các trường hợp như này, cách hiệu quả nhất là sao chép và dán mã theo cách thủ công hoặc tự viết mã.
Một module có thể được sử dụng để lưu trữ nhiều loại mã VBA:
1. Khai báo: Chúng ta có thể khai báo các biến trong một module. Việc này giúp chúng ta xác định loại dữ liệu mà biến có thể chứa. Chúng ta có thể khai báo biến cho một chương trình con hoặc cho tất cả các chương trình con trong module (hoặc tất cả module).
2. Chương trình con: Đây là mã chứa các bước mà chúng ta muốn VBA thực thi.
3. Hàm Procedures: Đây là đoạn mã trả về một giá trị duy nhất và có thể sử dụng để tạo các hàm tùy chỉnh (còn được biết đến là hàm do người dùng định nghĩa hay UDF trong VBA).
Mặc định, một module không thuộc một phần của bảng tính. Chúng ta cần chèn module trước khi sử dụng.
1.3 Thêm module trong VB Editor
Thực hiện theo các bước dưới đây để thêm một module:
Bước 1: Kích chuột phải vào một đối tượng bất kỳ trong Workbook (nơi chúng ta thêm module).
Bước 2: Di chuyển chuột qua tùy chọn Insert.
Bước 3: Nhấp chọn Module.
Những bước trên ngay lập tức sẽ tạo một thư mục có tên Module và chèn một đối tượng có tên Module1. Nếu module đã được chèn, các bước trên sẽ chèn một module mới.
Sau khi module được chèn, chúng ta có thể kích đúp chuột vào đối tượng module trong Project Explorer. Trên màn hình sẽ hiển thị một cửa sổ mã, nơi chúng ta có thể sao chép và dán mã hoặc tự viết mã.
1.4 Xóa module
Thực hiện theo các bước dưới đây để xóa một module trong VBA:
Bước 1: Kích chuột phải vào module mà chúng ta muốn xóa.
Bước 2: Chọn Remove Module.
Bước 3: Trên màn hình sẽ xuất hiện hộp thoại, nhấn No.
Lưu ý: Trước khi xóa module, chúng ta có thể xuất module dưới dạng file .bas, và nhập file này vào các dự án khác. Để xuất (export) một module, kích chuột phải vào module đó, chọn Export file.
1.5 Thêm mã vào cửa sổ mã của đối tượng
Để mở cửa sổ mã của một đối tượng, đơn giản chỉ cần kích đúp chuột vào đối tượng đó.
Trên cửa sổ mã của đối tượng, có thể thêm mã theo cách thủ công hoặc sao chép dán mã từ các module khác hoặc trên mạng Internet.
Chú ý: Một số đối tượng cho phép chọn sự kiện cho mã muốn viết.
Ví dụ, nếu muốn viết mã cho sự thay đổi khi lựa chọn thay đổi trong bảng tính, trước hết cần chọn bảng tính từ menu ở góc trên cùng bên trái cửa sổ mã, sau đó chọn sự kiện thay đổi từ menu ở góc bên phải.
Chú ý: Đây là những sự kiện dành riêng cho từng đối tượng. Khi mở cửa sổ mã cho workbook, sẽ xuất hiện các sự kiện liên quan đến workbook. Trong khi mở cửa sổ mã của một bảng tính, chúng ta sẽ thấy các sự kiện tương ứng với bảng tính đó.
Bài viết Tất tần tật về VBA trong Excel (Phần 2) trên đây Mytour vừa giới thiệu về cách thêm mã trong module và trên cửa sổ mã của đối tượng. Để hiểu rõ hơn, bạn có thể xem lại bài viết Tất tần tật về VBA trong Excel phần 1 trước đó của chúng tôi. Nếu có bất kỳ thắc mắc hoặc câu hỏi cần giải đáp, độc giả có thể để lại ý kiến của mình trong phần bình luận bên dưới bài viết.