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

各位大神,我现在想用VBA做出单击单元格弹出窗体的效果。现在用的是Worksheet_SelectionChange触发窗体弹出,但是当我关闭窗体之后再单击这个单元格的时... 各位大神,我现在想用VBA做出单击单元格弹出窗体的效果。现在用的是Worksheet_SelectionChange触发窗体弹出,但是当我关闭窗体之后再单击这个单元格的时候不能触发这个事件。并且由于单元格内容不改变所以Change也不行,跪求方法解决! 展开
 我来答
skull22
推荐于2017-11-23 · TA获得超过1127个赞
知道小有建树答主
回答量:803
采纳率:100%
帮助的人:390万
展开全部
没有直接的解决办法.

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

然后在Worksheet_SelectionChange事件中,加入
if Target.Address(0, 0)="A65536" then exit sub '如果是自动选择的单元格就退出事件
纨绔人生zhou
2016-10-11 · TA获得超过494个赞
知道小有建树答主
回答量:610
采纳率:40%
帮助的人:312万
展开全部
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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式