送女朋友什么口红知乎:excel2003中,怎么写VB程序,单击及双击单元格会变

来源:百度文库 编辑:中财网 时间:2024/04/29 12:48:51

excel2003中,怎么写VB程序,单击及双击单元格会变

2010-3-12 21:50 提问者:wdbbzyy | 浏览次数:621次
在excel2003中,单元格A1的内容为:“是”,如果用鼠标移到单元格A1上,就另外出现文本框显示:“请双击鼠标切换‘是,否’”,如果用鼠标双击单元格A1,A1内容就变为:“否”,再双击,就变为:“是”,再双击,就变为:“否”......请问高手,该如何写这个宏程序?

问题补充:

谢谢楼下的回答,但是我把你的代码复制到VB编辑器,再把鼠标移到单元格A1上,但是没有反应啊,再双击,也没变成“否”啊,是不是不行啊。 对不起,我是VB初学者,我按照你第二次说的要求,单元格A1中已经有“是”,在VB编辑器中,左上角找到工程-VBAProject  窗口,右击里面的 Sheet1(Sheet1),选择“查看代码”,在右侧窗口中粘贴了你的代码, 再双击Sheet1的A1单元格,不管击多少次,还是没有反应啊,请再指点一下,谢谢。

2010-3-13 10:06 满意回答

双击的时候,你的鼠标应该是一个白色空心的十字,不是黑色实心的你也可以粘下面的第一段代码,然后右击任意单元格,应当可以出现你的需求,然后弹出右击选项,如果没有右击选项,说明你右击的方法不对,如果弹出了还没有效果。你试着自己录制一段宏,执行以下,我怀疑你的VBA没装好。你可以给zht@xwedu.com发一个邮件,我把做好的回给你我周六晚上9-10点在线Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)    Range("A1").ClearComments    Range("A1").AddComment    Range("A1").Comment.Visible = False    Range("A1").Comment.Text Text:="请双击鼠标切换‘是,否’"    If Target = "是" Then        Target.Value = "否"    ElseIf Target = "否" Then        Target.Value = "是"    End IfEnd Sub不是 宏  是工作表事件在编辑器中,左上角找到工程-VBAProject  窗口右击里面的 Sheet1(Sheet1) 选择 查看代码在右侧粘贴 要双击Sheet1的  A1单元格,一次以后才会出现提示 A1中必须已经有 是 或者 否Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)If Target.Address = "$A$1" Then    Range("A1").ClearComments    Range("A1").AddComment    Range("A1").Comment.Visible = False    Range("A1").Comment.Text Text:="请双击鼠标切换‘是,否’"    If Target = "是" Then        Target.Value = "否"    ElseIf Target = "否" Then        Target.Value = "是"    End If    Cancel = TrueEnd IfEnd Sub