ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > 我的酷贴 > Excel VBA > 如何制作简易的将每个工作表备份为单一工作簿的工具

如何制作简易的将每个工作表备份为单一工作簿的工具

作者:绿色风 分类: 时间:2022-08-18 浏览:138
楼主
xmyjk
Q:把本工作簿里面的SHEET全部单独移动出去(建立副本),并保存在特定路径下的文件夹,例如:桌面/1

A:为了通用性,代码比较综合,考虑了以下方面:

  功能:(1)可以选择是否以“桌面”文件夹为路径进行备份,如否,手动选择获取备份目录的路径;
          (2)在确定备份路径后,还可决定是否在该路径以建立子文件夹形式储存备份文件,如是,则要求输入要创建的子目录的名称,系统将自动创建子文件夹备份,如否,不创建子文件夹直接在确定的路径中进行备份。


 

  1. Option Explicit

  2. Sub Macro1()
  3. Dim sh As Worksheet, spath As String, fd As FileDialog, sname As String
  4. If MsgBox("默认路径为桌面,是否使用默认路径备份?", vbYesNo) = 6 Then
  5.    spath = Environ("userprofile") & "\桌面\"
  6. Else
  7.    Set fd = Application.FileDialog(msoFileDialogFolderPicker)
  8.       If fd.Show = -1 Then spath = fd.SelectedItems(1) & "\"
  9. End If
  10. If MsgBox("是否在该目录创建子文件夹来备份", vbYesNo) = 6 Then
  11.    sname = InputBox("请输入要创建的文件夹名称:")
  12.    spath = spath & sname & "\"
  13.    If Dir(spath, vbDirectory) <> "" Then
  14.       MsgBox "该目录已存在,不需创建,直接备份"
  15.    Else
  16.       MkDir spath
  17.    End If
  18. End If

  19. Application.ScreenUpdating = False
  20. For Each sh In ThisWorkbook.Sheets
  21.     sh.Copy
  22.     ActiveWorkbook.Close True, spath & sh.Name & ".xls"
  23. Next
  24. Application.ScreenUpdating = True
  25. End Sub

工作表单一备份工具.rar
2楼
eliane_lei
进来学习,谢谢分享!
3楼
水吉果果
学习一下!

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap