excel vba的refedit控件的事件
RefEdit控件按钮的激活事件,即时选中有关单元格区域,就会激活一个事件然后进入我需要的代码,这个事件是什么?比如我点击RefEdit后,选择了A1到B5的区域,但是我...
RefEdit控件按钮的激活事件,即时选中有关单元格区域,就会激活一个事件然后进入我需要的代码,这个事件是什么?
比如我点击RefEdit后,选择了A1到B5的区域,但是我只想允许选择一列,比如A列的,那么我选择完后就应该触发一个事件并进入我进行判断的是不是一列的代码,请问这个RefEdit对应的事件是什么啊? 展开
比如我点击RefEdit后,选择了A1到B5的区域,但是我只想允许选择一列,比如A列的,那么我选择完后就应该触发一个事件并进入我进行判断的是不是一列的代码,请问这个RefEdit对应的事件是什么啊? 展开
展开全部
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Selection.Count > 1 Then
A = Split(Selection.Address, ":")
B = Split(A(0), "$")
C = Split(A(1), "$")
If B(1) <> C(1) Then
MsgBox "选择了多列"
End If
End If
End Sub
没太看明白你说了些什么,根据大概的意思我写了一个如果选中多列单元格就提示的,把MsgBox改一下就可以做到不允许选择多列的了,比如如果选中了多列那么就选择A1单元格的话就把MsgBox那句改成range("a1").select
If Selection.Count > 1 Then
A = Split(Selection.Address, ":")
B = Split(A(0), "$")
C = Split(A(1), "$")
If B(1) <> C(1) Then
MsgBox "选择了多列"
End If
End If
End Sub
没太看明白你说了些什么,根据大概的意思我写了一个如果选中多列单元格就提示的,把MsgBox改一下就可以做到不允许选择多列的了,比如如果选中了多列那么就选择A1单元格的话就把MsgBox那句改成range("a1").select
追问
你是用worksheet的 selectionChange触发的,问题是我想用RefEdit里面通过选择数据区域来触发,这个怎么做呢?
追答
Private Sub RefEdit1_Change()
If RefEdit1.Value Like "*:*" Then
a = Split(RefEdit1.Value, "!")
b = Split(a(1), ":")
c = Split(b(0), "$")
d = Split(b(1), "$")
If c(1) d(1) Then
MsgBox "错误"
End If
End If
End Sub
试试
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询