如何一打开Excel就运行VBA?

如题所述

在workbook_open事件中写入代码,即可实现打开Excel就运行VBA。

详细步骤如下:

1.点击”Thisworkbook“进入程序编辑界面,点击下拉箭头,选择”Workbook“

2.此时,系统会自动出现一段代码,即打开文件执行其中的程序,如下所示:

3.在这串代码中,加入一串代码,如下图所示:

4.保存,关闭Excel文件;再次打开,就会运行”msgbox 123“这段代码,如下图所示:



认识Workbook_Open事件

VBA帮助里这么定义:打开工作簿时,将产生本事件。

Workbook_Open事件只在工作簿打开的时候产生,在下一次打开之前不再发生此事件。


可以写入一些只需执行一次的代码,比如如果您需要在文件每次打开时在表1中A列记录下文件打开的时间,则应该使用此事件.

Private 

Sub Workbook_Open()

Sheet1.Range("A65536").end(xlup).offset(1,0).value 

=Vba.Now

End 

Sub

不建议使用ActiveSheet,而应直接使用工作表名.

另对系统设置进行修改的代码不应该写在这里,而应写入Workbook_Activate事件中,Workbook_Activate事件紧随在Workbook_Open事件后面发

生。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-03-31

1、打开一个Excel文件,鼠标右击下面的工作表(如sheet1)。选择“查看代码”,就可以打开VBA编辑界面;

2、选择搜索框的下拉菜单,选择“worksheet”选项功能;

3、选择BeforeDoubleClick,也就是在本工作表鼠标双击(之前),将触发下面的代码程序;

4、选择完成后,这样会看到下面出现了两条代码;这俩条代码其实是在声明一个函数;

5、将鼠标放置在这两行代码之间,这时写上执行语句:Sheet1.Cells(1, 3) = Sheet1.Cells(1, 1) + Sheet1.Cells(1, 2);

6、然后点击保存,回到Excel的原始界面。在cells(1,1)和cells(1,2)中输入两个数值;

7、在sheet1的工作表中,双击鼠标会发现,cells(1,3)的值变成了cells(1,1)和cells(1,2)的和。

本回答被网友采纳
第2个回答  2013-06-21
1.将EXCEL宏安全性改为“低”,打开有VBA代码的工作簿时,就不会提示是否启用宏

2.将需要首先运行的VBA代码写在workbook_open事件里面

或许你需要的是一种,或者你要的是这两种
第3个回答  推荐于2017-09-07
在workbook_open事件中写入代码。
或者在auto-open事件中写入代码。本回答被提问者采纳
第4个回答  2013-06-21
在workbook_open事件里面写响应。
相似回答