vba trigger on variable
' Adds a user defined trigger (OnChange event) on a class attribute
' Msgbox when Name (clsMyClass) is changed
' Add class module clsMyClass:
Private WithEvents mName As clsWithEvents
Private Sub mName_OnChange(ByVal pValue As String)
MsgBox "Value changed to " & pValue
End Sub
Public Property Get Name() As clsWithEvents
Set Name = mName
End Property
Public Property Let Name(pClsName As clsWithEvents)
Set mName = pClsName
End Property
'Add class module clsWithEvents
Public Event OnChange(ByVal pValue As String)
Private mCurrentValue As String
Public Property Get Value() As String
Value = mCurrentValue
End Property
Public Property Let Value(ByVal pValue As String)
If mCurrentValue <> pValue Then RaiseEvent OnChange(pValue)
mCurrentValue = pValue
End Property
' Test in a module:
Sub TestMe()
Dim cMyClass As New clsMyClass
Dim cName As New clsWithEvents
cMyClass.Name = cName
cName.Value = "New value" ' Triggers a msgbox
End Sub
Are there any code examples left?
New code examples in category VBA
-
VBA 2022-03-27 20:55:02 excel vba check if all substrings in list are in string
-
VBA 2022-03-27 20:40:39 excel vba set cell value to empty
-
VBA 2022-03-27 17:05:52 vba simple quote
-
VBA 2022-03-27 14:30:19 textbox find and replace vb
-
VBA 2022-03-27 09:10:21 nested if else in vb.net
-
VBA 2022-03-27 09:10:09 excel vba string to bits
-
VBA 2022-03-25 02:00:15 vba verticalalignment
-
VBA 2022-03-24 12:20:06 Excel web scraping
-
VBA 2022-03-24 10:11:00 excel vba BitToLong
-
VBA 2022-03-21 18:00:05 excel vba save file txt