Excel要怎么做到点击某个单元格即执行宏?

各位大侠好我编写了一套宏命令其中在ThisWorkbook总表下有这三段宏命令PrivateSubWorkbook_Open()PrivateSubWorkbook_Be... 各位大侠好 我编写了一套宏命令
其中在ThisWorkbook总表下有这三段宏命令
Private Sub Workbook_Open()
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
现在问题是 在第三段宏命令中我要实现点击当前工作表A1单元格即执行Workbook_Open(第一段宏命令)
我是这样编写的
If Target.Row = 1 And Target.Column = 1 Then
Call ThisWorkbook.Workbook_Open
End If
按理说我应该没写错 但文件能自动刷新(我第一段宏编写的是定时自动刷新)却不能手动刷新
请问大侠们 我这段手动刷新的代码错在哪儿了 谢谢
展开
 我来答
bdxbr
推荐于2017-12-16 · TA获得超过1053个赞
知道小有建树答主
回答量:957
采纳率:44%
帮助的人:310万
展开全部
你应该把那段代码写在Workbook_SheetSelectionChange里面
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Row = 1 And Target.Column = 1 Then
MsgBox ("点击了第1个单元格")
End If
End Sub
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lu_zhao_long
2014-02-17 · TA获得超过1.3万个赞
知道大有可为答主
回答量:1.3万
采纳率:79%
帮助的人:2700万
展开全部
楼主应该发现这些类模块中的事件前面的声明:Private Sub

既然是 Private 的,那又如何能够允许你跳出某个类模块而去执行另外一个类模块中的 Private 的子程序呢?更何况你去执行工作簿的 Open 事件,而且这个工作簿已经被打开了,又何来再次发生 Open 事件呢?
更多追问追答
追问
我对宏命令和VB懂得比较初级 是边看书边搜索做出一份代码的 那请问我要做什么修改呢?
可以这样吗?
建立一个模块 然后将Workbook_Open的内容复制到这个模块 然后再call 模块n.Workbook_Open
谢谢
不过这样是不是麻烦了些 变成保存了两大段重复的代码
追答
  1. 建立一个标准模块;

  2. 在这个标准模块内建立新的子程序,并将其声明成 Public 类型(或者不声明,默认就是 Public 类型的);

  3. 在其中写上楼主需要的 VBA 代码;

  4. 然后在任何模块内的其它过程中调用这个子程序。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式