Tất tần tật về VBA trong Excel (Phần 2)

Bài viết tiếp theo dưới đây Taimienphi.vn sẽ giới thiệu tiếp bạn các thông tin, tất tần tật về VBA trong Excel. Ngoài ra bạn đọc có thể tham khảo thêm một số bài viết khác đã có trên Taimienphi.vn để tìm hiểu thêm về cách sử dụng Autofilter trong VBA nhé.

1. Thêm mã trong VB Editor

Có 2 vị trí để thêm mã VBA trong Excel:

- Cửa sổ mã của đối tượng. Các đối tượng này có thể là workbook, bảng tính, biểu mẫu người dùng, ... .

- Cửa sổ mã của một module.

 

1.1 Cửa sổ Module với cửa sổ mã của đối tượng

Trước tiên Taimienphi.vn sẽ giới thiệu cho bạn điểm khác nhau giữa thêm mã trong cửa sổ module với thêm mã trong cửa sổ mã của đối tượng.

Khi thêm mã vào đối tượng bất kỳ, nó phụ thuộc vào một số hành động của đối tượng sẽ kích hoạt mã đó. Cho ví dụ, nếu muốn bỏ ẩn tất cả các bảng tính trong workbook ngay khi mở workbook đó, mã đó sẽ truy cập đối tượng ThisWorkbook (đại diện cho workbook).

Tương tự nếu muốn 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ách kích hoạt này được gọi là các sự kiện (event) và chúng ta có thể liên kết một mã được thực thi khi một 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 tạo và ghi một macro, Excel sẽ tự động tạo module và chèn mã macro đó. Để chạy mã này, chúng ta sẽ phải thực thi macro theo cách thủ công.

 

1.2 Thêm mã VBA trong module

Trong khi 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 còn một số hạn chế, chẳng hạn như không thể sử dụng các vòng lặp hay các điều kiện If Then Else.

Trong những trường hợp như vậy, cách tốt 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ữ các loại mã VBA:

1. Khai báo: Chúng ta có thể khai báo các biến trong một module. Khai báo biến cho phép chúng ta chỉ định loại dữ liệu mà biến có thể chứa. Chúng ta có thể khai báo một 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à mã trả về một giá trị duy nhất và chúng ta có thể sử dụng để tạo các hàm tùy chỉnh (còn được gọi là hàm do người dùng định nghĩa hay UDF trong VBA).

Mặc định, một module không phải là một phần của bảng tính, chúng ta phải 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 đối tượng bất kỳ trong Workbook (vị trí mà chúng ta thêm module).

Bước 2: Di chuột qua tùy chọn Insert.

Bước 3: Click chọn Module.

 

Các 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 gọi Module1. Nếu đã chèn module, các bước trên đây sẽ chèn một module khác.

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ã, tại đây 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: Click chọn tùy chọn Remove Module.

Bước 3: Trên màn hình sẽ hiển thị hộp thoại, click chọn No.

Lưu ý: Chúng ta có thể xuất một module trước khi xóa module đó. File xuất được lưu dưới dạng file .bas, và chúng ta có thể nhập file này vào một số 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, chỉ cần kích đúp chuột vào đối tượng đó.

Trên cửa sổ mã của đối tượng, chúng ta có thể nhập 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.

Lưu ý: một số đối tượng cho phép chúng ta chọn sự kiện cho mã muốn viết.

Ví dụ, nếu muốn viết mã cho thay đổi nào đó xảy ra khi lựa chọn được thay đổi trong bảng tính, trước hết chúng ta 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.

Lưu ý: Đây là các sự kiện dành riêng cho đối tượng. Khi mở cửa sổ mã cho workbook, chúng ta sẽ nhìn thấy các sự kiện liên quan đến workbook. Khi mở cửa sổ mã cho một bảng tính, chúng ta sẽ thấy các sự kiện liên quan đến bảng tính.

Bài viết Tất tần tật về VBA trong Excel (Phần 2) trên đây Taimienphi.vn vừa giới thiệu cho bạn 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ể quay 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. Ngoài ra nếu có bất kỳ thắc mắc hoặc câu hỏi nào cần giải đáp, bạn đọc 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 nhé.

Trong bài viết Tất tần tật về VBA trong Excel (Phần 1) Taimienphi.vn đã giới thiệu cho bạn VBA trong Excel là gì? Cách mở VB Editor như thế nào. Trong bài viết tiếp theo dưới đây Taimienphi.vn sẽ giới thiệu tiếp cho bạn vị trí thêm mã VBA trong Visual Basic Editor.
Tất tần tật về VBA trong Excel (Phần 1)
Làm quen với Excel 2016 và 2019 (Phần 2)
Làm quen với Excel 2016 và 2019 (Phần 3)
Hàm MsgBox trong VBA
Làm quen với Excel 2016 và 2019 (Phần 1)
Cách xóa trang trắng trong Excel 2019

ĐỌC NHIỀU