vba打开表格.docx
- 文档编号:26419208
- 上传时间:2023-06-19
- 格式:DOCX
- 页数:6
- 大小:18.21KB
vba打开表格.docx
《vba打开表格.docx》由会员分享,可在线阅读,更多相关《vba打开表格.docx(6页珍藏版)》请在冰豆网上搜索。
vba打开表格
竭诚为您提供优质文档/双击可除
vba打开表格
篇一:
excelVba编程打开工作簿自动运行宏
excelVba编程打开工作簿自动运行宏
如果希望每次启动microsoftexcel时都自动执行某些操作,可以通过录制或编写一个打开工作簿时都将运行的宏。
可以使用如下两种方法创建自动运行宏:
录制宏时,将宏的名称命名为auto_open。
将此宏编写为工作簿“打开”事件的Vba过程。
录制auto_open宏会受到诸多限制。
与录制auto_open宏相比,将宏编写为工作簿“打开”事件的Vba过程功能会强大得多,而且更为灵活,所以是创建启动宏的首选方法。
如下是创建打开工作簿自动运行宏的方法:
1.将工作簿设置为在excel启动时自动打开
不管使用上述两种方法中的哪一种来创建宏,都要将宏保存在一个特定的工作簿中。
因此,如果想让这个宏在每次excel启动时运行,就必须确保包含此宏的工作簿在excel启动时自动打开。
要想在启动excel时打开,就必须将包含该启动宏的工作簿保存在xlstart文件夹中。
如果是默认安装,则xlstart文件夹的位置是:
“c:
\programFiles\microsoftoffice\office12\xlstaRt”
2.创建auto_open宏
录制一个宏并用“auto_open”这一名称保存它,则每次打开包含此宏的工作簿时,它都会自动运行。
要录制“auto_open”宏,首先打开此工作簿。
并打开【录制新宏】对话框,在【宏名】文本框中输入宏名“auto_open”;然后在【保存在】下拉列表框中选择“当前工作簿”选项;单击“确定”,然后执行要录制的操作。
创建完成后,在【开发工具】选项卡上,单击【停止录制】按钮。
然后将此工作簿保存或移动到xlstart文件夹中。
如果遇到以下情况,录制auto_open宏自动运行将失败:
如果在保存auto_open宏所用的工作簿中,已在其“打开”事件中包含了一个Vba过程,则“打开”事件的Vba过程将会覆盖auto_open宏中的所有操作。
如果该工作簿是通过使用“打开”方法以编程方式打开的,则auto_open宏将被忽略。
auto_open宏会在任何其他工作簿打开之前运行。
如果录制宏希望其在excel的默认的book1工作簿或从xlstart文件夹载入的工作簿上执行这些操作。
那么,在重新启动excel时,auto_open宏将会失败,因为在打开默认工作簿和启动工作簿之前,它就已经运行了。
如果遇到上述情况,就不应录制auto_open宏,而应使用工作簿的“打开”事件创建Vba过程。
3.为工作簿的打开事件创建Vba过程
工作簿的“打开”事件是一个内置的事件,它会在每次打开该工作簿时都运行其事件的代码。
要创建“打开”事件的宏,可使用如下方法:
在excel中,打开要添加宏的工作簿。
然后,打开Visualbasic编辑器,在其【项目资源管理器】中,双击“thisworkbook”对象,打开其【代码】编辑窗口。
在该窗口上方的【对象】下拉列表框中,选择“workbook”选项,则系统自动为“打开”事件创建该对象的过程,如图3-19所示。
篇二:
用窗体进入excel表格的界面制作
用窗体进入excel表格的界面制作
第一步先制作好窗体界面(具体制作不用详述)
窗体内容除把相关要提醒和显示的内容添加上去外,还要制作一个按钮,通过按钮点击
进入系统,如下图所示:
说明:
这个界面里有两个东西值得注意的,一个是右上角的“×”,这个符号在未加代码的情况下,点击是关闭这个界面的,但要达到的目的是必须通过点击“进入系统”才能使用表格。
第二步制作打开excel即最小化电子表格,显示以上窗体的代码
privatesubworkbook_open()
application.windowstate=xlminimized打开工作薄即将工作薄最小化userForm1.show0显示登录窗口
endsub
第三步,通过点击进入系统和点击关闭提示必须经过点击系统进入的提示窗口制作首先,把右上角的“×”的点击提示点击“进入系统”的代码写出来privatesubuserForm_queryclose(cancelasinteger,closemodeasinteger)closemode参数表明事件发生的原因
若其值等于vbFormcontrolmenu则意味着用户单击了x图标按钮
ifclosemode=vbFormcontrolmenuthen
msgbox"请单击""进入系统""按钮进入档案管理系统",,"是否确认进入系统"cancel=true
endif
endsub
其次,编写按钮“进入系统”的代码
privatesubcommandbutton1_click()
sheet1.activate‘激活sheet1
application.windowstate=xlmaximized‘最大化表格unloaduserForm1‘关闭窗体
endsub
通过此三步,一个进入电子表格的窗体界面就制作完成了。
篇三:
Vba-excel工作表代码
(vba打开表格) 工作表
1、隐藏sheet1这张工作表sheets("sheet1").Visible=False
2、显示sheet1这张工作表sheets("sheet1").Visible=true
3、同时选择工作表1和工作表2
worksheets(array(“sheet1”,”sheet2”)).select
4、删除工作表1sheets(“sheet1”).delete或sheets
(1).delete
5、将该表格保存到c:
\test.xls目录excelsheet.saveas"c:
\test.xls"
6、在第1工作表前添加新工作表sheets.addbefore:
=sheets
(1)
7、在最后工作表后添加新工作表
sheets.addafter:
=sheets(sheets.count)
8、删除当前工作表
activewindow.selectedsheets.delete
可以用以下语句删除当前工作表。
activesheet.delete
9、保护工作表使其不至被修改。
sheets(“工作表名”).protect(password)
10、撤销工作表保护使其被修改。
sheets(“工作表名”).unprotect(password)
示例:
sheets(“sheet1”).protect“123456”sheets(“sheet1”).unprotect“123456”
11、添加工作表sheets.add
12、当前工作表命名activesheet.name="www"
13、选定下(上)一个工作表
sheets(activesheet.index-1).select
sheets(activesheet.index+1).select
14、取消工作表标签
activewindow.displayworkbooktabs=False
15、格式_工作表不能重命名
mandbars("sheet").controls
(1).enabled=False
16、取消工作表标签activewindow.displayworkbooktabs=False
17、右键菜单不能重命名
mandbars.Findcontrol(id:
=889).enabled=False
18、工作表加密
worksheets(″基础数据表″).protectpassword:
="1234"
19、深度隐藏工作表sheet1.Visible=2
20、显示工作表sheet1.Visible=-1
21、‘当前工作表中已使用的行数
activesheet.usedRange.Rows.count
22、Rows.count‘获取工作表的行数(注:
考虑向前兼容性)
23、sheets(sheet1).name=“sum”将sheet1命名为sum
24、thisworkbook.sheets.addbefore:
=worksheets
(1)添加一个新工作表在第一工作表前
25、activesheet.moveafter:
=activeworkbook._
sheets(activeworkbook.sheets.count)将当前工作表移至工作表的最后
26、sheets(“sheet1”).delete或sheets
(1).delete删除工作表1
27、activeworkbook.sheets(i).name获取工作表i的名称
28、切换工作表中的网格线显示,这种方法也可以用在其它方面进行相互切换,即相当于开关按钮
activewindow.displaygridlines=notactivewindow.displaygridlines
29、‘切换工作表中的行列边框显示
activewindow.displayheadings=notactivewindow.displayheadings
30、activesheet.usedRange.Formatconditions.delete‘删除当前工作表中所有的条件格式
31、将页面设置更改为横向
activesheet.pagesetup.orientation=xllandscape
或activesheet.pagesetup.orientation=2
32、‘在页面设置的表尾中输入文件路径
activesheet.pagesetup.RightFooter=activeworkbook.Fullname
33‘将用户名放置在活动工作表的页脚
activesheet.pagesetup.leftFooter=application.username
34、‘两个关键字排序,相邻两列,b列为主关键字,a列为次关键字,升序排列activesheet.Range("a:
b").sortkey1:
=columns("b"),key2:
=columns("a"),_header:
=xlyes
35、开启数据记录单activesheet.showdataForm
工作簿
1、定制自己的状态栏application.statusbar="现在时刻:
"打开屏幕刷新application.screenupdating=true
5、删除一个文件kill"c:
\1.txt"
6、退出excelapplication.quit
7、‘将文本写到状态栏application.statusbar=”请等待……”8、‘更新状态栏文本,以变量percent代表完成的百分比application.statusbar=”请等待……”以本工作表名称另存文件到当前目录
activeworkbook.saveasFilename:
=thisworkbook.path全屏显示application.displayFullscreen=true18、不保存直接关闭当前的工作簿workbooks("book1.xls").closesavechanges:
=False
19、不保存直接关闭excel窗口(关闭所有的工作簿)的Vba语句application.displayalerts=Falseapplication.quit
20、保护工作簿activesheet.protect
21、取消保护工作簿activesheet.unprotect
22、给当前工作簿改名为"liu"activesheet.name="liu"
23、增加一个工作簿worksheets.add
24、删除当前工作簿activesheet.delete
25、打开一个文件workbooks.openFilename:
="c:
\mydocuments\book2.xls"
26、关闭当前工作簿activewindow.close
27、‘返回工作簿代码的名称activeworkbook.codenamethisworkbook.codename
28、‘返回当前工作簿的路径(注:
若未保存,则为空)thisworkbook.pathactiveworkbook.path
29、‘将状态栏重新设置成正常状态
application.statusbar=False
30、‘返回活动工作表的名称application.activesheet.name
31、‘返回活动窗口的标题application.activewindow.caption
32、‘返回活动工作簿的名称application.activeworkbook.name
33、去掉xls文件头上菜单栏的“microsoftexcel”字样application.caption="专用表格"
34、设置15秒后运行my_procedure过程,从现在开始计时。
application.ontime
"my_procedure"now+timeValue("00:
00:
15"),
35、设定my_procedure这个宏在下午5点开始执行。
application.ontimetimeValue("17:
00:
00"),"my_procedure"36、以某一单元格中的值为文件名保存
activeworkbook.savecopyasstr(Range("sheet1!
a1"))+".xls"37、thisworkbook.save保存工作簿
38、activeworkbook.sheets.count获取活动工作薄中工作表数
39、activeworkbook.name返回活动工作薄的名称
40、thisworkbook.name‘返回当前工作簿名称
thisworkbook.Fullname‘返回当前工作簿路径和名称
41、activewindow.enableResize=False‘禁止调整活动工作簿的大小
42、application.window.arrangexlarrangestyletiled‘将工作簿以平铺方式排列
43、activeworkbook.windowstate=xlmaximized‘将当前工作簿最大化
44、‘返回当前工作簿的名称application.thisworkbook.name
dimfs,d,s
setfs=createobject("scripting.Filesystemobject")
setd=fs.getdrive(fs.getdrivename(fs.getabsolutepathname(thisworkbook.path)))
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- vba 打开 表格