我在userform中有一个滚动条,如果向左移动我想运行一些代码,如果向右移动则运行一些不同的代码。
这样的东西(显然这不起作用):
Private Sub ScrollBar1_Change()
If ScrollBar1 = Left Then
MsgBox "left"
ElseIf ScrollBar1 = Right Then
MsgBox "right"
End If
End Sub
谢谢
答案 0 :(得分:0)
您需要使用模块级变量来跟踪最后位置并将其与当前位置进行比较:
Private mCurrentScrollPos As Long
Private Sub ScrollBar1_Change()
If (ScrollBar1.Value > mCurrentScrollPos) Then
MsgBox "Left"
Else
MsgBox "Right"
End If
mCurrentScrollPos = ScrollBar1.Value
End Sub
答案 1 :(得分:0)
您需要存储全局变量。在激活Userform时设置它。并且做了代码
Private Sub ScrollBar1_Change()
If (ScrollBar1.Value > scrollLoc) Then
MsgBox "Left"
Else
MsgBox "Right"
End If
scrollLoc= ScrollBar1.Value
end sub
Private Sub UserForm_Activate()
scrollLoc = Me.ScrollBar1.Value
End Sub
并拥有一个全局变量
private scrollLoc as long