dar*_*one 4 excel vba combobox
当组合框值发生变化时,我想获得组合框的旧值。
我尝试过类似的事情:
Private Sub ComboBox1_Change()
Application.EnableEvents = False
newVal = ComboBox1.Value
Application.Undo
oldVal = ComboBox1.Valu
End Sub
Run Code Online (Sandbox Code Playgroud)
或者
Private Sub ComboBox1_Change()
Application.EnableEvents = False
newVal = ComboBox1.Value
ComboBox1.Undo
oldVal = ComboBox1.Valu
End Sub
Run Code Online (Sandbox Code Playgroud)
但它似乎不起作用......
谢谢
您可以使用一个静态变量,该变量在对ComboBox1_Change事件的调用之间保存其值:
Private Sub ComboBox1_Change()
Static OldValue As String
With Me.ComboBox1
Debug.Print "Value: "; .Value; " Old Value: "; OldValue
OldValue = .Value
End With
End Sub
Run Code Online (Sandbox Code Playgroud)
如果您需要在 Change 事件之外访问 OldValue,请使用模块级变量,如@Ifrandom 所述。