VBA 拆分Excel中的各sheet为文件

server/2024/9/24 17:16:00/

一. 方式1

  • xlOpenXMLWorkbook.xlsx格式的文件
  • xlWorkbookDefault:当前Excel的格式(当前Excel是什么格式,被拆分出的sheet页所生成的文件就是什么格式)
  • "\":可以使用Application.PathSeparator代替
Sub 拆分工作表()' 初始化变量Dim sheetObj As WorksheetDim MyBook As WorkbookSet MyBook = ActiveWorkbook' 循环Excel中的所有sheet页For Each sheetObj In MyBook.Sheets' 复制当前sheet页sheetObj.Copy' 根据sheet名称创建文件,并且指定新创建的文件类型是 .xlsxActiveWorkbook.SaveAs Filename:=MyBook.Path & "\" & sheetObj.Name, FileFormat:=xlOpenXMLWorkbook' 关闭新创建的工作簿ActiveWorkbook.CloseNext' 弹出对话框,提示处理完毕MsgBox "文件已经被拆分完毕!"End Sub

二. 方式2

  • sht.Visible:判断sheet页是否可见
    • -1xlSheetVisible(工作表可见)
    • 0xlSheetHidden(工作表隐藏,但可以通过工作表选项卡显示)
    • 2xlSheetVeryHidden(工作表隐藏,并且在工作表选项卡中不可见)
  • With Application.FileDialog(msoFileDialogFolderPicker):用于显示文件夹选择对话框的语句
    • msoFileDialogOpen:打开文件对话框,用于选择要打开的文件。
    • msoFileDialogSaveAs:另存为文件对话框,用于选择保存文件的路径和文件名。
    • msoFileDialogFilePicker:文件选择对话框,允许选择一个或多个文件。
    • msoFileDialogFolderPicker:文件夹选择对话框,用于选择文件夹路径。
  • Right(strPath, 1):获取右侧第一个字符
  • VBA中的For Each没有类似于contiune的语法,只能使用IF Else来处理跳过
Sub EachShtToWorkbook()Dim sht As WorksheetDim strPath As StringDim visibilityStatus As Integer' 选择保存工作薄的文件路径With Application.FileDialog(msoFileDialogFolderPicker)' 读取选择的文件路径,如果用户未选取路径则退出程序If .Show ThenstrPath = .SelectedItems(1)ElseExit SubEnd IfEnd With' 如果路径中没有分隔符的话,就给加上分隔符If Right(strPath, 1) <> Application.PathSeparator ThenstrPath = strPath & Application.PathSeparatorEnd If' 取消显示系统警告和消息,避免重名工作簿无法保存。当有重名工作簿时,会直接覆盖保存。Application.DisplayAlerts = False' 取消屏幕刷新Application.ScreenUpdating = False' 遍历工作表For Each sht In Worksheets' 判断当前sheet是否被隐藏visibilityStatus = sht.Visible' xlSheetVisible: -1(工作表可见)' xlSheetHidden: 0(工作表隐藏,但可以通过工作表选项卡显示)' xlSheetVeryHidden: 2(工作表隐藏,并且在工作表选项卡中不可见)If visibilityStatus <> xlSheetHidden And visibilityStatus <> xlSheetVeryHidden Then' 复制工作表,工作表单纯复制后,会成为活动工作薄sht.CopyWith ActiveWorkbook' 保存活动工作薄到指定路径下,以当前系统默认文件格式.SaveAs strPath & sht.Name, xlWorkbookDefault' 关闭工作薄并保存.Close TrueEnd WithEnd IfNext' 恢复屏幕刷新Application.ScreenUpdating = True' 恢复显示系统警告和消息Application.DisplayAlerts = TrueMsgBox "处理完成。", , "提醒"End Sub

http://www.ppmy.cn/server/32265.html

相关文章

wordpress子比主题美化-为图文列表封面添加动态缩略图特效 多种效果演示

wordpress子比主题-为图文列表文章封面添加动态缩略图特效 给自己子比主题加一个列表文章封面添加动态缩略图 直接复制以下代码&#xff0c;添加到主题自定义CSS代码中即可&#xff0c;下图为效果演示 wordpress子比主题-为图文列表文章封面添加动态缩略图特效 给自己子比主题…

富格林:细节决定能否安全出金

富格林悉知&#xff0c;投资者都希望在现货黄金交易市场中获利&#xff0c;但并非所有投资者都能实现获利的心愿&#xff0c;有时候忽略一些细节问题也会影响最终的投资效果。投资者应该注重细节实现安全出金才是我们进行投资的最终目标。下面富格林将总结一些注重细节实现安全…

R语言相关知识点

R语言中字符串 获取字符串长度&#xff1a;nchar() 字符串分割&#xff1a;strsplit() 字符串拼接&#xff1a;paste() 字符串截取&#xff1a;substr()其参数是子集所处的起始和终止位置。 字符串替代&#xff1a;gsub() chartr() sub() chartr是字母替换&#xff0c;不是字符…

DS高阶:图论算法经典应用

一、最小生成树&#xff08;无向图&#xff09; 在了解最小生成树算法之前&#xff0c;我们首先要先了解以下的准则&#xff1a; 连通图中的每一棵生成树&#xff0c;都是原图的一个极大无环子图&#xff0c;即&#xff1a;从其中删去任何一条边&#xff0c;生成树就不在连通&a…

K8s: Helm包管理工具的应用以及项目分环境部署

Helm 概述与安装 1 ) 概述 k8s中官方包管理工具, 官网: https://helm.sh/用 Yaml 管理多个应用同时部署 不需要在不同的yaml中写两遍&#xff0c;执行两遍解决一键部署的问题&#xff0c;联合部署 实现了部署的版本管理 可以实现版本回滚 应用和配置分离 2 &#xff09;安装 …

力扣数据库题库学习(5.4日)--1667. 修复表中的名字

1667. 修复表中的名字 问题链接 解题思路 使用 SUBSTRING() 函数获取每个名字的第一个字符和剩余字符。 使用 UPPER() 函数将第一个字符转换为大写。 使用 LOWER() 函数将剩余字符转换为小写。 使用 CONCAT() 函数将第一个字符和剩余字符组合成名字。 最后按照 user_id 对结…

Tomcat启动闪退怎么解决(文末附终极解决方案)

AI是这么告诉我的 Tomcat启动时出现闪退问题可能由多种原因引起&#xff0c;以下是解决此类问题的一些通用方法&#xff1a; 检查环境变量&#xff1a; 确保已经正确设置了JAVA_HOME和JRE_HOME环境变量&#xff0c;并指向正确的Java安装路径。将Java的bin目录添加到系统的PATH…

MATLAB初学者入门(28)—— 有监督学习神经网络

有监督学习神经网络是用于执行分类和回归任务的强大工具&#xff0c;其中网络通过输入和目标输出对的训练集来学习数据的映射。MATLAB 提供了一个易于使用的框架&#xff0c;用于设计、训练和验证深度学习模型&#xff0c;包括多层感知器&#xff08;MLP&#xff09;、卷积神经…