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%
帮助的人:307万
展开全部
你应该把那段代码派猛写改羡磨在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%
帮助的人:2669万
展开全部
楼主应该发现这些类模块中的事件前面的声明:Private Sub

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

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

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

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

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

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式