各位热爱学习不断追求卓越的小伙伴,大家好,VBA系列又和大家见面了!
上期我们介绍了用VBA操作单元格区域,本期我们来了解VBA操作工作簿的几种情况:
内容概要
今天的内容如下:
1.创建一个工作簿
2.判断某个文件夹下是否存在指定工作簿
3.打开工作簿时不显示更新链接对话框
4.关闭工作簿时不显示保存对话框
5.汇总同文件夹下多工作簿数据到一个工作簿
由于内容较多请大家挑选自己感兴趣阅读。
1.VBA创建工作簿(业务重温)
下面的代码用VBA创建新工作簿,重命名并保存
1Sub WAdd()
2Dim Wb As workbook, sht As Worksheet '定义工作簿和工作表对象
3Set Wb = Workbooks.Add '新建工作簿
4Set sht = Wb.Worksheets(1) '
5 sht.Name = '用VBA新建工作簿' '修改第一张工作表的名称
6 Wb.SaveAs ThisWorkbook.Path & '\用VBA新建工作簿.xls' '保存工作簿
7 ActiveWorkbook.Close '关闭活动工作簿
8End Sub
运行后在代码所在工作簿文件夹中可以看到新建的工作簿,第3行用Add新建工作簿,第5行Name属性修改工作簿名称,第6行有SaveAs保存工作簿,第7行用Close关闭工作簿,这些大家都很熟悉吧!
2.判断当前路径下是否存在指定名称的工作簿
1Sub 判断工作簿是否存在()
2Dim fil As String
3fil = ThisWorkbook.Path & '\VBA新建工作簿.xls'
4If Len(Dir(fil)) > 0 Then
5 MsgBox '工作簿存在'
6Else
7 MsgBox '工作簿不存在'
8End If
9End Sub
3.打开包含外部链接工作簿后不提示是否更新链接
当我们打开一个有外部引用的工作簿时,系统会弹出是否更新链接的消息框,这时需要用户操作确认后才能继续后面的操作,这样会影响代码执行的连续性,使用下面的代码在打开包含外部链接工作簿后不提示是否更新链接
1Sub UPdatelinks()
2 Workbooks.Open Filename:=ThisWorkbook.Path & '\用VBA新建工作簿.xls', _
UPdatelinks:=0
3End Sub
第二行代使用workbooks的open方法的Updatelinks参数设置为0实现的。
Updatelinks的参数值可选0和3:
0代表工作簿打开时不更新外部引用(链接)。
3工作簿打开时更新外部引用(链接)。
4、关闭工作簿时不显示保存对话框
1Sub CLoselx()
2Workbooks('用VBA新建工作簿.xls').Activate ‘设置表格为活动工作簿
3ActiveWorkbook.Saved = True
4ActiveWorkbook.Close
5End Sub
5.如何汇总同文件夹下多工作簿数据到一个工作簿
每天同事们接线的数据都保存在同一个文件夹下,工作簿里只有一张工作表且结构相同,每个月需要汇总当月的数据到新工作簿的同一张表上。
正常操作方式:打开1号数据-复制-粘贴-关闭,再打开2号重复直到31号的数据全部复制完毕即完成任务,为了避免重复劳动可以用VBA代码来完成。
联系客服