各位热爱学习不断追求卓越的小伙伴,大家好,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
运行上面的代码实现关闭工作簿时不保存不出现对话框;ActiveWorkbook.Saved = True 这句代码让Excel认为工作簿已经保存过,不在提示保存消息。如果工作簿需要保存,将上面这条代码改为:ActiveWorkbook.Save即可!5.如何汇总同文件夹下多工作簿数据到一个工作簿 每天同事们接线的数据都保存在同一个文件夹下,工作簿里只有一张工作表且结构相同,每个月需要汇总当月的数据到新工作簿的同一张表上。 正常操作方式:打开1号数据-复制-粘贴-关闭,再打开2号重复直到31号的数据全部复制完毕即完成任务,为了避免重复劳动可以用VBA代码来完成。
|