Excel VBA 单击同一个单元格触发事件怎么做?

各位大神,我现在想用VBA做出单击单元格弹出窗体的效果。现在用的是Worksheet_SelectionChange触发窗体弹出,但是当我关闭窗体之后再单击这个单元格的时候不能触发这个事件。并且由于单元格内容不改变所以Change也不行,跪求方法解决!

没有直接的解决办法.

换一种思路吧.
在关闭窗体事件加入:
Application.ScreenUpdating = False'取消Excel刷新
Sheet1.Range("A65536").Select'关闭窗体后,自动选择另一个固定单元格
Application.ScreenUpdating = True'恢复Excel刷新

然后在Worksheet_SelectionChange事件中,加入
if Target.Address(0, 0)="A65536" then exit sub '如果是自动选择的单元格就退出事件
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-10-11
1、问题描述不清晰,不知道你要表达什么
2.你用下面的语句试试,假如你单击的是D1单元格
if target.address="$D$1" then
msgbox "I Love U"
end if追问

就是比如像这样:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
UserForm1.Show
End Sub
在我点击单元格A1的时候,UserForm1窗体弹出来,我关上窗体之后再点A1,由于选择的单元格没有改变,所以这个事件不触发。但是excel又因为没有数据表的click事件,所以不知道该怎么解决。

追答

正如我上面说的,你应该这样写:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    if target.address="$A$1" then
    UserForm1.Show
    end if
    
End Sub

追问

这个也不行,因为再次点A1的时候这个事件是不触发的,需要点一下别的单元格再点A1才行。。。