如何一打开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、打开一个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.将需要首先运行的VBA代码写在workbook_open事件里面
或许你需要的是一种,或者你要的是这两种
或者在auto-open事件中写入代码。