VBA 拆分Excel中的各sheet为文件

2024-05-05 00:36
文章标签 excel vba 拆分 sheet

本文主要是介绍VBA 拆分Excel中的各sheet为文件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一. 方式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

这篇关于VBA 拆分Excel中的各sheet为文件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/960441

相关文章

C#实现将Excel表格转换为图片(JPG/ PNG)

《C#实现将Excel表格转换为图片(JPG/PNG)》Excel表格可能会因为不同设备或字体缺失等问题,导致格式错乱或数据显示异常,转换为图片后,能确保数据的排版等保持一致,下面我们看看如何使用C... 目录通过C# 转换Excel工作表到图片通过C# 转换指定单元格区域到图片知识扩展C# 将 Excel

使用Python将JSON,XML和YAML数据写入Excel文件

《使用Python将JSON,XML和YAML数据写入Excel文件》JSON、XML和YAML作为主流结构化数据格式,因其层次化表达能力和跨平台兼容性,已成为系统间数据交换的通用载体,本文将介绍如何... 目录如何使用python写入数据到Excel工作表用Python导入jsON数据到Excel工作表用

java中使用POI生成Excel并导出过程

《java中使用POI生成Excel并导出过程》:本文主要介绍java中使用POI生成Excel并导出过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录需求说明及实现方式需求完成通用代码版本1版本2结果展示type参数为atype参数为b总结注:本文章中代码均为

利用Python开发Markdown表格结构转换为Excel工具

《利用Python开发Markdown表格结构转换为Excel工具》在数据管理和文档编写过程中,我们经常使用Markdown来记录表格数据,但它没有Excel使用方便,所以本文将使用Python编写一... 目录1.完整代码2. 项目概述3. 代码解析3.1 依赖库3.2 GUI 设计3.3 解析 Mark

Java利用poi实现word表格转excel

《Java利用poi实现word表格转excel》这篇文章主要为大家详细介绍了Java如何利用poi实现word表格转excel,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 一、每行对象类需要针对不同的表格进行对应的创建。package org.example.wordToEx

利用Python实现添加或读取Excel公式

《利用Python实现添加或读取Excel公式》Excel公式是数据处理的核心工具,从简单的加减运算到复杂的逻辑判断,掌握基础语法是高效工作的起点,下面我们就来看看如何使用Python进行Excel公... 目录python Excel 库安装Python 在 Excel 中添加公式/函数Python 读取

Python实现合并与拆分多个PDF文档中的指定页

《Python实现合并与拆分多个PDF文档中的指定页》这篇文章主要为大家详细介绍了如何使用Python实现将多个PDF文档中的指定页合并生成新的PDF以及拆分PDF,感兴趣的小伙伴可以参考一下... 安装所需要的库pip install PyPDF2 -i https://pypi.tuna.tsingh

基于Python开发批量提取Excel图片的小工具

《基于Python开发批量提取Excel图片的小工具》这篇文章主要为大家详细介绍了如何使用Python中的openpyxl库开发一个小工具,可以实现批量提取Excel图片,有需要的小伙伴可以参考一下... 目前有一个需求,就是批量读取当前目录下所有文件夹里的Excel文件,去获取出Excel文件中的图片,并

Java导入、导出excel用法步骤保姆级教程(附封装好的工具类)

《Java导入、导出excel用法步骤保姆级教程(附封装好的工具类)》:本文主要介绍Java导入、导出excel的相关资料,讲解了使用Java和ApachePOI库将数据导出为Excel文件,包括... 目录前言一、引入Apache POI依赖二、用法&步骤2.1 创建Excel的元素2.3 样式和字体2.

使用EasyExcel实现简单的Excel表格解析操作

《使用EasyExcel实现简单的Excel表格解析操作》:本文主要介绍如何使用EasyExcel完成简单的表格解析操作,同时实现了大量数据情况下数据的分次批量入库,并记录每条数据入库的状态,感兴... 目录前言固定模板及表数据格式的解析实现Excel模板内容对应的实体类实现AnalysisEventLis