我有一个userform,其中包含一个名为TextBox
的{{1}}对象。
对象内部的文本可以由用户 或由代码更改 。有" onChange"附加到文本框的程序:
myTextBox
我希望只有当用户更改文本时才会处理事件,而不是代码。我曾想过添加一个可选参数,如下所示:
Private Sub myTextBox_Change()
'do some stuffs
End Sub
但这并不是很有用,因为我无法以编程方式更改名称时传递Private Sub myTextBox_Change(Optional isCode As Boolean)
If isCode = False Then
'do some stuffs
End If
End Sub
,如下所示:
isCode = True
有没有人知道如何解决这个问题?
答案 0 :(得分:1)
一种方式(也许不是正确的方法?)将声明一个全局变量以与IsCode Boolean相同的方式使用。在代码块期间将其设置为true,以便textbox_change事件知道代码正在后台处理,然后在代码完成时设置回false。
将它放在普通模块的顶部(不能在表单模块中使用)
Option Compare Database
Option Explicit
Global IsCode As Boolean
然后在您运行的代码中根据需要设置IsCode=true
。