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
按理说我应该没写错 但文件能自动刷新(我第一段宏编写的是定时自动刷新)却不能手动刷新
请问大侠们 我这段手动刷新的代码错在哪儿了 谢谢 展开
其中在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
按理说我应该没写错 但文件能自动刷新(我第一段宏编写的是定时自动刷新)却不能手动刷新
请问大侠们 我这段手动刷新的代码错在哪儿了 谢谢 展开
2个回答
展开全部
你应该把那段代码派猛写改羡磨在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
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
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼主应该发现这些类模块中的事件前面的声明:Private Sub
既然是 Private 的,那前雀又如何能够允许你跳出某个类模块而去执行另外一个类模罩饥块中的 Private 的子程序呢?更何况你去执行工作簿的 Open 事件,而且这个工作簿已经被打开了,又何来再次发生 Open 事物悔返件呢?
既然是 Private 的,那前雀又如何能够允许你跳出某个类模块而去执行另外一个类模罩饥块中的 Private 的子程序呢?更何况你去执行工作簿的 Open 事件,而且这个工作簿已经被打开了,又何来再次发生 Open 事物悔返件呢?
更多追问追答
追问
我对宏命令和VB懂得比较初级 是边看书边搜索做出一份代码的 那请问我要做什么修改呢?
可以这样吗?
建立一个模块 然后将Workbook_Open的内容复制到这个模块 然后再call 模块n.Workbook_Open
谢谢
不过这样是不是麻烦了些 变成保存了两大段重复的代码
追答
建立一个标准模块;
在这个标准模块内建立新的子程序,并将其声明成 Public 类型(或者不声明,默认就是 Public 类型的);
在其中写上楼主需要的 VBA 代码;
然后在任何模块内的其它过程中调用这个子程序。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询