Có thể tạo 1 phương thức do người dùng định nghĩa (User Defined Method) không?

Liên hệ QC

ndu96081631

Huyền thoại GPE
Thành viên BQT
Super Moderator
Tham gia
5/6/08
Bài viết
30,703
Được thích
53,952
Khi làm việc với Excel VBA, chúng ta có thể:
- Tạo 1 hàm người dùng
- Tạo 1 sự kiện (dùng Class)
Vậy xin hỏi các cao thủ: Chúng ta có thể tự tạo 1 phương thức hay không? (User Defined Method)
(đã tham khảo trên Google mà không có kết quả)
Để ý thấy bài này:
http://www.giaiphapexcel.com/forum/showthread.php?t=29898
gần tương tự như 1 phương thức tự tạo đấy!
 
Đã có lần tôi đã đặt vấn đề là ta tự tạo ra 1 đối tượng và bao trong đó các phương thức (ví dụ như listview) tuy nhiên cũng chẳng có ai quan tâm. Tạo phương thức mới ở trong VB6 theo tôi biết là làm được còn trong VBA thì không hiểu có thể làm được khôngbởi nó như 1 tập con của VB vậy.
 
Upvote 0
Khi làm việc với Excel VBA, chúng ta có thể:
- Tạo 1 hàm người dùng
- Tạo 1 sự kiện (dùng Class)
Vậy xin hỏi các cao thủ: Chúng ta có thể tự tạo 1 phương thức hay không? (User Defined Method)
(đã tham khảo trên Google mà không có kết quả)
Để ý thấy bài này:
http://www.giaiphapexcel.com/forum/showthread.php?t=29898
gần tương tự như 1 phương thức tự tạo đấy!

Các bác mô tả rõ hơn đi.
 
Upvote 0
Ví dụ Range thì có Find Method
Giờ tôi muốn tạo 1 phương thức Find của riêng tôi, chẳng hạn tên là MyFind để tôi có thể dùng được trong code theo kiểu:
Range("gì gì đó").MyFind(.............)

Nếu làm cho Userform, Sheet, Workbook thì được còn các đối tượng khác thì không, vì đó là đối tượng đóng rồi. Chỉ có thể khắc phục làm một Class "clsRange" có các thành phần: Range As Range; Find();...

Như vậy khi chạy thì phải làm thế này

Dim My MyRange As New clsRange

MyRange.Range.Cells(1,1).Value....gọi như với Range bình thường
MyRange.Find()

...

Cách này chỉ dùng khi thực sự cần có thêm nhiều chân tay cho Range.
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom