06/04/2021, 14:51

ActiveX Controls trong VBA - Khái niệm và cách dùng - ự học Excel VBA

Trong bài này mình sẽ giúp bạn hiểu khái niệm ActiveX Controls là gì? Công dụng và cách hoạt động của ActiveX Controls trong VBA như thế nào? Từ bài đầu tiên đến giờ chúng ta đã sử dụng một loại ActiveX Controls khá thường xuyên, đó là Command Button. Đây là một loại button có công dụng bắt sự ...

Trong bài này mình sẽ giúp bạn hiểu khái niệm ActiveX Controls là gì? Công dụng và cách hoạt động của ActiveX Controls trong VBA như thế nào?

Từ bài đầu tiên đến giờ chúng ta đã sử dụng một loại ActiveX Controls khá thường xuyên, đó là Command Button. Đây là một loại button có công dụng bắt sự kiện click của người dùng.

1. ActiveX Control là gì?

ActiveX Controls là một trong những Controls được sử dụng thường xuyên nhất trong khi lập trình tự động với VBA. Chúng ta sử dụng các ActiveX Control khác nhau trong Excel Worksheet hoặc UserForm, và thực hiện các hành động / tác vụ khác nhau trong ứng dụng Excel.

ActiveX Controls có các thành phần gồm: CheckBox, Label, Image, TextBox, ComboBox, ListBox, CommandButton, OptionButton.

Ví dụ: Bạn muốn tạo một button và khi người dùng click vào đó thì sẽ chạy đoạn code loại bỏ những ô trống, lúc này giải pháp là sử dụng đối tượng Command Button.

2. Cách tạo ActiveX Control trong Excel

Để tạo một Active Control bất kì thì bạn thực hiện theo các bước như sau:

1. Tại Developer Tab bạn hãy click vào Insert.

2. Một menu xổ xuống, bạn sẽ thấy hai nhóm gồm Form ControlsActiveX Controls. Hiện tại thì ta chỉ quan tâm đến những đối tượng nằm bên trong nhóm ActiveX Controls thoi nhé.

Giả sử mình sẽ chọn Command Button nằm trong nhóm ActiveX Controls.

create activex control png

3. Click vào một vị trí nào đó trong sheet của Excel thì sẽ xuất hiện một Button.

4. Nhấn đúp chuột phải 2 lần hoặc click chuột phải vào button vừa tạo, sau đó chọn View Code. Lưu ý là bạn phải đang bật chế độ Design Mode nhé (nó nằm kế bên nút Insert ở bước 2).

view code png

Ghi chú: Bạn có thể thay đổi các thuộc tính của button này bằng cách chọn Properties, tại đây bạn có thể thay đổi tên cho button, màu sắc và những thông số khác.

properties JPG

5. Visual Basic Editor xuất hiện, tại đây bạn sẽ thấy có một Sub đã được tạo với tên là CommandButton1_Click.

click event JPG

Đây là Private Sub và chỉ được dùng trong phạm vi của Sheet này mà thôi. Và tên Sub được tạo ra dựa vào quy luật như sau:

{NameObject}_{Action}

Trong đó:

  • NameObject là tên của control
  • Action là tên của sự kiện

Như ở ví dụ này thì do tên của command là CommandButton1, còn sự kiện ta đang code là Click nên tên của Sub sẽ là CommandButton1_Click.

6. Bạn hãy bổ sung đoạn code sau vào Sub đó nhé.

Selection.Font.Color = vbBlue

bo sung code vb JPG

7. Quay ra lại trang Excel, bạn hãy nhập một dãy dữ liệu bất kì, sau đó chọn các ô đó và click vào button thì sẽ thấy nó đổi màu.

activex control ket qua JPG

Bài này mình chỉ hướng dẫn cách tạo ActiveX Control thông qua một ví dụ đơn giản thôi nhé, những bài tiếp theo mình sẽ chỉ dẫn chi tiết cách tạo cho từng đối tượng bên trong của nó như: CheckBox, Label, Image, TextBox, ComboBox, ListBox, CommandButton, OptionButton.

Trịnh Tiến Mạnh

27 chủ đề

6824 bài viết

Cùng chủ đề
0