MACRO
EXCEL OBJECT
VBA BASIC
VBA FORM
BÀI TẬP
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Class Module trong VBA: Cách tạo mới và thêm thuộc tính

Trong bài này chúng ta sẽ tìm hiểu về Class trong VBA, đây là một module dùng để xây dựng thư viện khi lập trình VBA Excel, và mình cũng đã từng giới thiệu trong bài viết cấu trúc module VBA.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Khi bạn click vào tab menu Insert trong Visual Basic Editor thì sẽ thấy một dãy menu xổ xuống, trong đó có phần Class Module. Đây chính là cách mà bạn thêm một Class Module vào dự án của mình.

insert class module png

1. Class Module trong VBA là gì?

Class module là nơi tập hợp những module hoạt động theo hướng đối tượng, nghĩa là nó có thuộc tính và phương thức, cũng như các hàm khởi tạo cho các thuộc tính. Class module khác với những module thông thường ở chỗ nó giúp cho việc tạo mô hình Component Object Model (COM) thuận lợi hơn.

Mình sẽ lấy một đối tượng có sẵn trong Excel đó là Worksheets. Trong đối tượng này có một số thuộc tính và phương thức giúp bạn lấy được những thông tin của các sheet excel mà bạn đang làm việc như: Số lượng sheet, thao tác ẩn và xóa sheet ....

Bài viết này được đăng tại [free tuts .net]

Khi bạn tạo một đối tượng mới theo cách này thì đối tượng đó có thể được sử dụng ở bất kỳ đâu trong VBA, giúp hạn chế việc code đi code lại quá nhiều lần.

Một ví dụ thực tế: Giả sử bạn đang code ứng dụng quản lý lương cho nhân viên thì mình sẽ tạo một class module NhanVien, trong đó gồm những thuộc tính như:

  • Mã nhân viên
  • Tên nhân viên
  • Phòng ban
  • Mức lương

Và có các hành động (phương thức) như:

  • Nhập thông tin nhân viên
  • Cập nhật nhân viên
  • Thay đổi mức lương
  • ...

Những thao tác trên lặp đi lặp lại trên mỗi nhân viên, vì vậy việc sử dụng class module thế này sẽ giúp tối ưu code hơn, tức ta chỉ code một lần và sử dụng cho toàn bộ nhân viên.

2. Thêm một class module vào VBA

Như mình đã giới thiệu ở đầu bài, để thêm một modue thì bạn hãy vào menu Insert -> Class Module.

Lúc này giao diện VBE (Visual Basic Editor) sẽ xuất hiện cấu trúc như sau:

class module structure png

Bạn có thể thay đổi tên cho class bằng cách đổi Name nằm trong cửa sổ Properties mà mình đã đánh dấu.

Nếu bạn không thấy cửa sổ này thì hãy click vào View -> Properties Window.

3. Thêm thuộc tính vào Class module

Để thêm thuộc tính vào một class thì chúng ta có hai cách. Cách thứ nhất là bạn sẽ nhập code thủ công, cách thứ hai là sử dụng công cụ của Visual Basic Editor.

Cách 1: Code thủ công

Giả sử mình cần khai báo hai thuộc tính cho Class1, mình sẽ mở nó ra và nhập vào đoạn code sau.

Private mItem As String
Private mDetail As String

Tiếp theo sẽ cần tạo một số phương thức Get và Let cho hai thuộc tính này. Đây là 2 phương thức khởi tạo mà hầu như thuộc tính nào cũng cần phải có.

Public Property Let Item(vdata As String)
      mItem = vdata
End Property

Public Property Get Item () As String
      Item = mItem
End Property

Public Property Let Detail (vdata As String)
      mDetail = vdata
End Property

Public Property Get Detail () As String
      Detail = mDetail
End Property

Cách 2: Sử dụng giao diện

Bạn vẫn phải tạo hai thuộc tính như cách 1.

Bạn mở module Class1 lên, sau đó vào Insert -> Procedure.

insert procedure JPG

Một hộp thoại hiện ra, bạn hãy nhập tên của procedure cần tạo, sau đó click vào Ok.

tao procedure JPG

Giả sư nình nhập là MyProperty thì kết quả trong file xuất hiện một số phương thức như sau.

Public Property Get MyProperty() As Variant

End Property

Public Property Let MyProperty(ByVal vNewValue As Variant)

End Property

4. Gọi class module VBA

Khi bạn khai báo ở đây thì một đối tượng được tạo ra trùng tên với class module mà bạn đã đặt, vì vậy chỉ cần khai báo biến có kiểu dữ liệu đúng như vậy là được.

Dim MyClass As New MyItems

Sau khi tạo xong bạn có thể sử dụng các thuộc tính và phương thức một cách thoải mái.

Trên là cách sử dụng Class Module trong VBA ở mức cơ bản nhất. Chúc bạn thành công!

Cùng chuyên mục:

Cách chèn link ảnh vào Excel trên máy tính

Cách chèn link ảnh vào Excel trên máy tính

Ngoài ra, bài viết còn hướng dẫn cách chèn link ảnh trực tuyến hàng loạt…

Cách tách và gộp ô trong Excel

Cách tách và gộp ô trong Excel

Trong bảng tính Microsoft Excel, có thể sẽ có lúc các bạn cần tách ô…

Hàm MONTH() trong Excel

Hàm MONTH() trong Excel

Cách dùng hàm MONTH() trong Excel

Hàm YEAR () trong Excel

Hàm YEAR () trong Excel

Cách dùng hàm YEAR () trong Excel

Hàm HLOOKUP() trong Excel

Hàm HLOOKUP() trong Excel

Cách dùng hàm HLOOKUP() trong Excel

Hàm VLOOKUP() trong Excel

Hàm VLOOKUP() trong Excel

Cách dùng hàm VLOOKUP() trong Excel

Hàm LOOKUP() trong Excel

Hàm LOOKUP() trong Excel

Cách dùng hàm LOOKUP() trong Excel

Hàm ABS() trong Excel

Hàm ABS() trong Excel

Cách dùng hàm ABS() trong Excel

Hàm SUM() trong Excel

Hàm SUM() trong Excel

Cách dùng hàm SUM() trong Excel

Hàm SQRT() trong Excel

Hàm SQRT() trong Excel

Cách dùng hàm SQRT() trong Excel

Hàm MOD() trong Excel

Hàm MOD() trong Excel

Cách dùng hàm MOD() trong Excel

Hàm SUMIF() trong Excel

Hàm SUMIF() trong Excel

Cách dùng hàm SUMIF() trong Excel

Hàm SUBTOTAL() trong Excel

Hàm SUBTOTAL() trong Excel

Cách dùng hàm SUBTOTAL() trong Excel

Hàm ROUND() trong Excel

Hàm ROUND() trong Excel

Cách dùng hàm ROUND() trong Excel

Hàm SUMPRODUCT() trong Excel

Hàm SUMPRODUCT() trong Excel

Cách dùng hàm SUMPRODUCT() trong Excel

Hàm COUNT() trong Excel

Hàm COUNT() trong Excel

Cách dùng hàm COUNT() trong Excel

Hàm COUNTA() trong Excel

Hàm COUNTA() trong Excel

Cách dùng hàm COUNTA() trong Excel

Hàm COUNTBLANK() trong Excel

Hàm COUNTBLANK() trong Excel

Cách dùng hàm COUNTBLANK() trong Excel

Hàm MAX() trong Excel

Hàm MAX() trong Excel

Cách dùng hàm MAX() trong Excel

Hàm MIN() trong Excel

Hàm MIN() trong Excel

Cách dùng hàm MIN() trong Excel

Top