分享

用VBA操作工作簿

 L罗乐 2018-07-10

各位热爱学习不断追求卓越的小伙伴,大家好,VBA系列又和大家见面了!

上期我们介绍了用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代码来完成。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多