Excel自动化工具-工作簿中sheet页合并-可自行选择需要处理的工作簿

宝子们可以选择直接下载文章顶部资源包【Excel自动化工具-工作簿中sheet页合并.xlsm】(或者在博主的资源里下载),该资源功能为:合并sheet页

或者也可以自己编写宏代码,文章最后有附上源代码

没有office excel 的宝子请先安装,下载教程请点击下面链接查看:

excel、word、ppt 下载安装步骤整理

需求展示:把工作簿 ‘测试.xlsx’ 里的sheet页的数据内容(除名为‘合并数据’sheet页除外),全部合并到‘名为 ‘合并数据’sheet页’ 里面(自动生成),如下图所示:

使用方式:直接打开资源文件使用

>>打开下载的 【自定义合并sheet页.xlsm 】文件>>点击 ‘开始合并sheet页’ 按钮>>选择你要操作的工作簿即可(详细可参考文件中的“使用说明”)

想要自己动手的宝子可以点击以下链接查看博文,里参考里面的编写宏和调用宏的详细步骤:

根据自定义名称批量创建sheet页,详细操作步骤!

代码示例:

' 这个函数接受一个Workbook对象和一个工作表名称(默认为"合并数据")
' 然后在这个Workbook中合并所有工作表(除了指定的工作表)
Function MergeAllSheets(ByRef wb As Workbook, Optional ByVal destSheetName As String = "合并数据")Dim ws As WorksheetDim destSheet As WorksheetDim lastRow As LongDim sheetName As String' 检查是否存在指定的工作表,如果不存在则创建On Error Resume NextSet destSheet = wb.Sheets(destSheetName)If destSheet Is Nothing ThenSet destSheet = wb.Sheets.Add(After:=wb.Sheets(wb.Sheets.Count))destSheet.Name = destSheetNameEnd IfOn Error GoTo 0' 清空合并数据工作表的内容destSheet.Cells.Clear' 遍历所有工作表(除了合并数据工作表)For Each ws In wb.SheetsIf ws.Name <> destSheet.Name Then' 在总Sheet中添加工作表名称(加上“.sheet”后缀)sheetName = ws.Name & ".sheet"lastRow = destSheet.Cells(destSheet.Rows.Count, 1).End(xlUp).Row + 1destSheet.Cells(lastRow, 1).Value = sheetName' 复制当前工作表的内容到总SheetlastRow = lastRow + 1 ' 移动到下一个空白行ws.UsedRange.Copy Destination:=destSheet.Cells(lastRow, 1)End IfNext ws' 自动调整列宽destSheet.Columns.AutoFit
End Function' 这个子程序让用户选择一个工作簿,并在该工作簿中调用MergeAllSheets函数
Sub MergeSheetsFromSelectedWorkbook()Dim wb As WorkbookDim filePath As Variant' 允许用户选择一个文件filePath = Application.GetOpenFilename("Excel Files (*.xlsm), *.xlsm")' 如果用户选择了文件If filePath <> "False" Then' 打开工作簿Set wb = Workbooks.Open(filePath)' 调用合并函数MergeAllSheets wb' 可选:保存并关闭工作簿' wb.Save' wb.CloseEnd If
End Sub

代码说明:

这个资源包含两个主要部分:一个函数MergeAllSheets和一个子程序MergeSheetsFromSelectedWorkbook。它们协同工作,用于在一个Excel工作簿中合并所有工作表(除了指定的一个工作表)的数据到一个名为“合并数据”的工作表中。
MergeAllSheets 函数
功能描述:
该函数接受一个Workbook对象(wb)和一个可选的工作表名称(默认为“合并数据”)。它遍历工作簿中的所有工作表(除了指定的“合并数据”工作表),将每个工作表的名称(加上“.sheet”后缀)和工作表内容复制到“合并数据”工作表中。每个工作表的内容前都会加上其名称作为标题,以便于区分。
实现细节:
检查并创建目标工作表:如果“合并数据”工作表不存在,则创建一个新的工作表并命名为“合并数据”。
清空目标工作表:在合并之前,清空“合并数据”工作表的所有内容。
遍历工作表:遍历工作簿中的所有工作表,对于每个工作表,如果它不是“合并数据”工作表,则执行以下操作:
将工作表名称(加上“.sheet”后缀)写入“合并数据”工作表的下一行。
将当前工作表的内容复制到“合并数据”工作表的下一个空白行。
自动调整列宽:最后,自动调整“合并数据”工作表的所有列宽以适应内容。
使用方式:
该函数需要在VBA环境中被调用,并传入一个Workbook对象和一个可选的工作表名称。
MergeSheetsFromSelectedWorkbook 子程序
功能描述:
该子程序允许用户通过Excel的文件选择对话框选择一个工作簿文件,然后调用MergeAllSheets函数来合并该工作簿中的所有工作表(除了“合并数据”工作表)。
实现细节:
选择文件:使用Application.GetOpenFilename方法显示文件选择对话框,让用户选择一个Excel工作簿文件。
打开工作簿:如果用户选择了一个文件,则打开该工作簿。
调用合并函数:调用MergeAllSheets函数,传入打开的工作簿对象,执行合并操作。
可选操作:注释掉的代码段显示了如何在合并后保存并关闭工作簿的示例。
使用方式:
该子程序可以直接在VBA编辑器中运行,或者通过为其分配一个按钮或快捷键在Excel界面中触发。
总结
这段代码实现了在Excel VBA中合并一个工作簿中所有工作表(除了指定的一个)到一个名为“合并数据”的工作表的功能。用户可以通过一个文件选择对话框来选择要合并的工作簿。合并过程中,每个工作表的内容前都会加上其名称作为标题,以便于区分。最后,自动调整“合并数据”工作表的列宽以适应内容。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/871607.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux之find指令基础

目录 前言一、find .二、find xxx -name "*.c"三、组合查找文件名四、find . -type f五、find . -maxdepth 2 -type f六、find . -type f -perm 777七、find . -type f -name "*.txt" ! -perm 777八、借助-exec命令参考链接 前言 testfind下 check1.c ch…

《乡土中国》重新审视自己的故乡,再出发

《乡土中国》重新审视自己的故乡&#xff0c;再出发 费孝通(1910—2005)&#xff0c;中国社会学家、人类学家。被誉为中国社会学和人类学的奠基人之一。江苏吴江人。1980年获国际应用人类学会马林诺斯基荣誉奖。1981年获英国皇家人类学会赫胥黎奖章。代表作有《乡土中国》《江村…

【周末闲谈】Stable Diffusion会魔法的绘画师

个人主页&#xff1a;【&#x1f60a;个人主页】 系列专栏&#xff1a;【❤️Python】 文章目录 前言Stable Diffusion介绍 使用ComfyUI 和 WebUIComfyUIWebUI 配置需求 Stable Diffusion资源分享吐司AiAUTOMATIC1111Civitai绘世整合包Nenly同学stability.ai 前言 在很早之前&…

【数学建模】2005建模A题:长江水质综合评价与预测

数据的无量纲化处理 数据的无量纲化处理是一种统计学中的预处理技术&#xff0c;主要用于消除数据中的量纲影响&#xff0c;使得不同单位或量级的指标可以相互比较和结合。无量纲化通过调整数据的范围或尺度&#xff0c;使得数据集中的每个特征或变量处于相似的数值区间内。以…

【React】Google 账号之个性化一键登录按钮功能

“使用 Google 帐号登录”功能可快速管理网站上的用户身份验证。用户登录 Google 账号、表示同意&#xff0c;并安全地与平台共享其个人基础资料信息。 官方文档&#xff1a;链接 一、获取 Google API 客户端 ID 打开 Google API 控制台 中的凭据页面 创建或选择 Google API 项…

网络分层及通信过程

网络分层体系 主流的理论体系中主要包含三种网络分层模型&#xff0c;即ISO的七层网络模型、TCP/IP的四层网络模型以及结合两种模型优点的五层网络模型&#xff0c;关于网络模型&#xff0c;主要起到对网络体系的一个整体认识&#xff0c;作为网络知识学习的开始&#xff0c;这…

【并发编程】进程 线程 协程

进程&#xff08;Process&#xff09;、线程&#xff08;Thread&#xff09;和协程&#xff08;Coroutine&#xff09;构成了计算机科学中实现任务并发执行的三种核心抽象机制。通常&#xff0c;为了提高程序的执行效率&#xff0c;开发者会根据应用场景和性能需求&#xff0c;…

Linux对文件访问的基本权限

文件权限控制对文件的访问。 有三种权限类别可应用&#xff1a;读取、写入和执行。 权限对文件和目录的影响&#xff1a; 权限 对文件的影响 对目录的影响 r读取 可以读取文件的内容 可以列出目录的内容 w写入 可以更改文件的内容 可以创建或删除目录中任一文件 x执行…

对照ui图进行大屏幕适配,echerts适配

1.先找到ui图&#xff0c;我这边是1920*1080的屏幕进行的设计 2.在界面找到跟样式的字体大小&#xff0c;进行设置&#xff0c;一般ui设置字体大小便可 3.在js中写入原生js代码 function adapter() {//获取布局视口宽度&#xff0c;布局视口设备横向独立像素值const dpWidth…

【算法专题】快速排序

1. 颜色分类 75. 颜色分类 - 力扣&#xff08;LeetCode&#xff09; 依据题意&#xff0c;我们需要把只包含0、1、2的数组划分为三个部分&#xff0c;事实上&#xff0c;在我们前面学习过的【算法专题】双指针算法-CSDN博客中&#xff0c;有一道题叫做移动零&#xff0c;题目要…

JAVA NIO组件之Buffer详解

❃博主首页 &#xff1a; 「码到三十五」 &#xff0c;同名公众号 :「码到三十五」&#xff0c;wx号 : 「liwu0213」 ☠博主专栏 &#xff1a; <mysql高手> <elasticsearch高手> <源码解读> <java核心> <面试攻关> ♝博主的话 &#xff1a…

Highlight.js示例

图例 代码在图片后面 点赞❤️关注&#x1f64f;收藏⭐️ 源代码 <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta name"viewport" content"widthdevice-width, initial-scale1.0"…

7.14实训

当我开始学习各种杀毒软件时&#xff0c;我逐渐意识到信息安全在现代社会中的重要性和复杂性。杀毒软件不仅仅是简单的安装和运行&#xff0c;它涉及到广泛的知识领域&#xff0c;包括计算机网络、恶意软件分析、加密技术等等。在这个过程中&#xff0c;我收获了许多宝贵的经验…

代码随想录算法训练营第30天|LeetCode 452. 用最少数量的箭引爆气球、435. 无重叠区间、763.划分字母区间

1. LeetCode 452. 用最少数量的箭引爆气球 题目链接&#xff1a;https://leetcode.cn/problems/minimum-number-of-arrows-to-burst-balloons/description/ 文章链接&#xff1a;https://programmercarl.com/0452.用最少数量的箭引爆气球.html 视频链接&#xff1a;https://www…

Java 线程池详解

序言 在高并发编程中&#xff0c;线程池是一个非常重要的组件。它不仅能够有效地管理和复用线程资源&#xff0c;还可以提升应用程序的性能和稳定性。本文将详细介绍Java中的线程池机制&#xff0c;以及如何正确地使用线程池。 一、什么是线程池 线程池是一组已经初始化并等…

索引结构与检索原理

一、mysql索引结构 1.BTree索引 [检索原理] 左边列的表格&#xff08;真实数据&#xff09;&#xff0c;右边对应一棵树&#xff0c;树的管度越来越管查询越快。 以下图表的名称为&#xff1a;段区块 硬盘都是长方形的&#xff0c;打了一个封装&#xff0c;里面是一个圆圈…

二分查找和斐波那契查找

这里写自定义目录标题 二分查找斐波那契查找二分查找改进B二分查找改进C 二分查找 int binSearch(int* arr, int lo, int hi,int target) {while (lo < hi){int mid lo ((hi - lo) >> 1);if (arr[mid] > target) hi mid;else if (arr[mid] < target) lo mi…

springBoot 核心原理

自动配置 包扫描规则&#xff1a; 默认的扫描规则 SpringBootApplication 标注的类就是主程序类 &#xff0c;springBoot也只会扫描主程序类所在的包以及下面的子包也可以自定义声明扫描其他包 使用 SpringBootApplication(scanBasePackages “com.test”)使用 ComponentSca…

excel、word、ppt 下载安装步骤整理

请按照我的步骤开始操作&#xff0c;注意以下截图红框标记处&#xff08;往往都是需要点击的地方&#xff09; 第一步&#xff1a;下载 首先进入office下载网址&#xff1a; otp.landian.vip 然后点击下载 拉到下方 下载站点&#xff08;这里根据自己的需要选择下载&#x…

汇编语言程序设计-7-高级汇编语言技术

7. 高级汇编语言技术 文章目录 7. 高级汇编语言技术7.0 导学7.1 子程序的另外一种写法-segment/ends-proc/endp7.2 程序的多文件组织7.3 汇编指令汇总7.4 汇编伪操作汇总7.5 汇编操作符汇总7.6 汇编过程7.7 宏汇编7.8 宏库7.9 条件汇编7.10 重复汇编7.11 80x86汇编7.12 汇编语言…