Tạo add-in với worksheet event (1 người xem)

Người dùng đang xem chủ đề này

sebastiantran

Thành viên mới
Tham gia
20/9/14
Bài viết
18
Được thích
6
mình muốn lập 1 add-in để mỗi khi double click vào 1 ô, font chữ sẽ tự động đổi sang màu đỏ, khi viết code trên sheet thì như sau:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Target.Font.Color = vbRed
End Sub


Vậy nếu mình muốn để ở level add-in, tức là khi click vào 1 ô trên BẤT Kì sheet nào thì chữ cũng đổi sang màu đỏ thì sẽ phải viết như nào :D

Cảm ơn mọi người!

 
mình muốn lập 1 add-in để mỗi khi double click vào 1 ô, font chữ sẽ tự động đổi sang màu đỏ, khi viết code trên sheet thì như sau:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Target.Font.Color = vbRed
End Sub


Vậy nếu mình muốn để ở level add-in, tức là khi click vào 1 ô trên BẤT Kì sheet nào thì chữ cũng đổi sang màu đỏ thì sẽ phải viết như nào :D

Cảm ơn mọi người!

Làm như sau:
1> Chèn 1 Class Module (menu Insert\Class Module), đặt tên cho class là clsEvents rồi chèn code dưới đây vào
Mã:
Public WithEvents ExlApp As Application
Private Sub Class_Initialize()
  Set ExlApp = Application
End Sub
Private Sub Class_Terminate()
  Set ExlApp = Nothing
End Sub
Private Sub ExlApp_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
  Target.Font.Color = vbRed
End Sub
2> Chèn 1 Module với code:
Mã:
Dim ExlObj As New clsEvents
Private Sub Auto_Open()
  If ExlObj Is Nothing Then Set ExlObj = New clsEvents
End Sub
Private Sub Auto_Close()
  Set ExlObj = Nothing
End Sub
Save file thành Add-In rồi khởi động Add-In này để thí nghiệm
 
Upvote 0
cho mình hỏi cách dùng của class module là nhưng nào vậy, đây có phải là kỹ thuật nâng cao trong vba?
 
Upvote 0
cho mình hỏi cách dùng của class module là nhưng nào vậy, đây có phải là kỹ thuật nâng cao trong vba?
Class đúng là phần nâng cao trong VBA rồi!
Hiểu nôm na về Class thế này do dễ nhé: Thứ gì mà anh Bill chưa cung cấp sẵn (chẳng hạn là yêu cầu của bạn) thì ta dùng Class để tạo ra nó
Vậy thôi!
(dài dòng nhức đầu lắm)
------------------------
Tham khảo thêm về Class ở mức độ cơ bản tại đây:
http://www.giaiphapexcel.com/forum/showthread.php?37075-Dùng-Class-Module-để-tạo-sự-kiện-người-dùng
 
Lần chỉnh sửa cuối:
Upvote 0

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

Back
Top Bottom