分享

VBA-常用函数集锦-2-Excel文件的操作

 L罗乐 2016-09-19

系统:Windows 10
软件:Excel 2010

  • 这个系列集锦了一些最常用函数,居家旅行必备

  • 今天讲讲Excel文件相关的一些操作

  • 关于Excel文件的操作可以使用fso,这部分内容在下一篇和文本文件一起讲解

关于文件夹的操作在这里:

VBA-常用函数集锦-1-文件夹操作

Part 1:Excel工作簿的操作

  1. 判断Excel文件是否存在,If Dir(NewFileAddr) <> '' Then

    • Dir(文件绝对地址)与空字符串对比,可以判断任何文件是否存在,与文件格式无关

    • Dir(CurrentDir & NewFolder, vbDirectory) <> ''增加参数vbDirectory可判断文件夹存在与否

  2. 删除Excel文件,Kill 绝对地址,这种方式可以删除任何文件

  3. 新建Excel工作簿,Workbooks.Add

Sub Excel文件操作()    '    CurrentDir = ThisWorkbook.Path & '\'    NewFileName = '测试文件.xlsx'    NewFileAddr = CurrentDir & NewFileName    If Dir(NewFileAddr) <> '' Then        MsgBox '文件重复'        Kill NewFileAddr    End If    Workbooks.Add    ActiveWorkbook.SaveAs Filename:=NewFileAddr, FileFormat _    :=xlOpenXMLWorkbook, CreateBackup:=False    Set wb = ActiveWorkbook    wb.Save    wb.Close End Sub
  1. 打开已存在Excel工作簿:Set wb = Workbooks.Open(NewFileAddr)

  2. 复制Excel文件:FileCopy NewFileAddr, NewFileAddr1

    • FileCopy 原绝对地址, 新绝对地址,适用于其它格式文件

  3. 重命名Excel文件:Name NewFileAddr As NewFileAddr1

    • Name 原绝对地址 As 新绝对地址,适用于其它格式文件

  4. 格式转换Excel文件:例如转换为pdf格式

    • 另存为的所有格式都可以采用VBA实现,具体代码可以使用录制宏功能查看一下

录制宏链接:

VBA与Excel入门系列-10-VBA自学神器<录制宏>

   sht3.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _    'G:\【10】微信\【3】文章\2016.09.18\test2.pdf', _    Quality:=xlQualityStandard, IncludeDocProperties:=True, _    IgnorePrintAreas:=False, OpenAfterPublish:=False
  1. 批量转换格式Sheets(Array('测试1', '测试2', '测试3')).Select,利用Array数组批量选择

   Sheets(Array('测试1', '测试2', '测试3')).Select    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _    'G:\【10】微信\【3】文章\2016.09.18\test2.pdf', Quality:=xlQualityStandard, _    IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _    False

Part 2:Excel工作簿内工作表操作

  1. 获取工作簿内工作表,结合上面工作簿wbSet sht1 = wb.Worksheets(1)

  2. 移动工作表位置:sht1.Move After:=sht5sht3.Move Before:=sht2

    • 结合Set sht1 = ThisWorkbook.Worksheets('测试1')使用

  3. 重命名工作表:sht1.Name = 'TEST'

  4. 删除工作表:sht2.Delete

    • 若不想弹出警告窗口,结合Application.DisplayAlerts = False使用

  5. 新建工作表:Sheets.Add After:=sht2

   Sheets.Add After:=sht2    Set sht6 = ActiveSheet    sht6.Name = '新建'
  1. 复制工作表:sht3.Copy After:=sht2sht3.Copy Before:=sht2

    • 复制工作表到另外工作簿,则将上文的sht2替换为:另一工作簿.工作表即可

以上为本次的学习内容,下回见

本文为原创作品,如若转载请标明出处,如发现有错误,欢迎留言指出


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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多