如何使VBA打开表格时自动执行,具体语句是什么?怎么调用宏?

代码是:PrivateSubWorkbook_open()IfWeekday(data)=7OrWeekday(data)=1ThenMsgBox"Mainautoexe... 代码是:
Private Sub Workbook_open()
If Weekday(data) = 7 Or Weekday(data) = 1 Then
MsgBox "Main autoexec!"
Else
End If
End Sub
怎么打开文件时,没有提示?今天是周末,应该执行的.调试时可以的.
Private Sub Workbook_Activate()
If Weekday(data) = 7 Or Weekday(data) = 1 Then
MsgBox "Main autoexec!"
Else
End If
End Sub
用Activate在转换工作表时有提示.
展开
 我来答
zhuying0511
2015-10-28 · TA获得超过3127个赞
知道大有可为答主
回答量:2101
采纳率:82%
帮助的人:471万
展开全部

打开执行的代码需要写在thisworkbook的open事件下,如下图:

VBA中事件分为三种:工作簿事件,工作表事件,窗体、控件事件。

  1. 工作簿事件发生在特定的工作簿中,如Open(打开工作簿)、BeforeClose(关闭工作簿之前)和SheetActive(激活任何一张表)等。工作簿事件的代码必须在Thiswork对象代码模块中编写。

  2. 工作表事件发生在特定的工作表中,如activate(激活工作表)、change(更改工作表中的单元格)和SelectionChange(工作表上的选定区域发生改变)等。工作表事件的代码必须在对应工作表的代码模块中编写。

  3. 新建的用户窗体及窗体上的控件可以响应很多事件,如Click(单击)、Change(控件内容更改)等,这类事件的代码必须编在相应的用户窗体代码模块中。

在编写代码时我们必须根据不同的需求来选择必要的事件类型。

梁吉平
2008-01-20 · 超过23用户采纳过TA的回答
知道答主
回答量:92
采纳率:0%
帮助的人:50.5万
展开全部
Workbook_open事件是工作薄被EXCEL第一次加载是执行的
Workbook_Activate 事件是工作薄被EXCEL重新激活时执行的(就是你打开其他工作薄又切换回来)

你的代码解释:
Workbook_open
如果获得星期7或者星期1时就执行否则没有也不干
请打上OFFICE最新的补丁,我的电脑上是OK的
office excel 2003 sp2
记得给分哦
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
老鼠麦大米
2008-01-21 · TA获得超过2490个赞
知道大有可为答主
回答量:1129
采纳率:0%
帮助的人:1734万
展开全部
Workbook_open工作薄事件
要放进Thisworkbook模块才能执行.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式