宏处理将多个excel文件的指定sheet页合并到一个excel文件中

背景了解:有个同事问我:现在他要处理一千多个文件,每个excel文件都有3个sheet页签,想把所有的excel文件的第二个sheet页签复制一份放到一个新的excel文件中。如果是手动去操作一个个文件的复制,也没什么不可,就是有点费手。像这种大批量的对文件做相同的操作,肯定会有更简便的方法替代,这样我们就可以把更多的精力放在具体的业务处理上了。

提前了解:

1.VB宏是什么?

VB(Visual Basic)宏是一种在 Microsoft Office 应用程序(如 Excel、Word、Access 等)中使用的自动化脚本。这些宏允许用户编写 VBA(Visual Basic for Applications)代码来自动化任务,提高工作效率。VBA 是 Visual Basic 的一个子集,专门用于 Office 应用程序的自动化。

2.VB宏的特点

  • 自动化任务:宏可以自动执行一系列操作,如数据处理、格式化、文件操作等。
  • 用户界面:宏可以通过按钮、菜单项或其他用户界面元素触发。
  • 事件驱动:宏可以响应用户操作或特定事件(如工作表更改、工作簿打开等)。
  • 丰富的库支持:VBA 提供了大量的内置对象和方法,可以方便地操作 Office 应用程序的各种功能。

3.环境准备

需要先有下图工具:版本不限

4.操作步骤

4.1新建空文件

创建一个新的空的excel文件,用来存储最终结果的文件,记住该文件的路径,并用上述excel工具打开文件:如下为空文件

4.2创建宏

找到开发工具:

然后再找到VB编辑器:

进入如下VB编辑器页面,只要能进入编辑器页面就可以,有部分软件的进入方式可能不同:

然后插入一个模块:

在下方空白弹窗出加入以下代码:

Sub CopySheetsFromFolder()
    Dim srcFolder As String
    Dim dstWorkbook As Workbook
    Dim srcWorkbook As Workbook
    Dim fileName As String
    Dim ws As Worksheet

    ' 指定源文件夹路径,重点:需要修改
    srcFolder = "C:\Users\123456\Desktop\"
    ' 请替换为实际的文件夹路径

    ' 打开目标工作簿,重点:一个新的空的xlsx文件的全路径名称
    On Error Resume Next
    Set dstWorkbook = Workbooks.Open("C:\Users\123456\Desktop\ceshi.xlsx")
    On Error GoTo 0
    If dstWorkbook Is Nothing Then
        MsgBox "无法打开目标工作簿 ceshi.xlsx", vbCritical
        Exit Sub
    End If

    ' 获取文件夹中的第一个 .xlsx 文件
    fileName = Dir(srcFolder & "*.xlsx")

    ' 遍历文件夹中的所有 .xlsx 文件
    Do While fileName <> ""
        ' 打开源文件
        On Error Resume Next
        Set srcWorkbook = Workbooks.Open(srcFolder & fileName)
        On Error GoTo 0
        If srcWorkbook Is Nothing Then
            MsgBox "无法打开文件 " & srcFolder & fileName, vbCritical
            GoTo NextFile
        End If

        ' 检查源文件是否有至少2个工作表:重点:想要合并的sheet页签为第几个sheet
        If srcWorkbook.Sheets.Count >= 2 Then
            ' 获取第二个工作表,重点:sheet(23)为sheet页签的名称
            Set ws = srcWorkbook.Sheets(23)

            ' 将第二个工作表复制到目标工作簿的最后一个工作表之后
            ws.Copy After:=dstWorkbook.Sheets(dstWorkbook.Sheets.Count)
        Else
            MsgBox "文件 " & fileName & " 不包含第二个工作表", vbExclamation
        End If

        ' 关闭源文件
        srcWorkbook.Close SaveChanges:=False

NextFile:
        ' 获取下一个文件
        fileName = Dir
    Loop

    ' 提示完成
    MsgBox "所有文件的第二个工作表已成功复制到 ceshi.xlsx", vbInformation
End Sub

4.3运行宏

然后运行代码:

运行完后,查看刚刚新建的文件即可得到结果。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

什么是散度,什么是旋度,分别反映什么现象,磁场和静电场分别是什么场?

散度和旋度是矢量场中重要的微分运算概念&#xff0c;用来描述矢量场的局部特性&#xff0c;广泛应用于物理学、流体力学和电磁学中。 1. 散度&#xff08;Divergence&#xff09; 散度描述的是一个矢量场在某一点的“发散”或“汇聚”程度&#xff0c;简单来说就是在该点附近…

web——warmup——攻防世界

这道题还是没有做出来。。&#xff0c;来总结一下 1.ctrlU显示源码 2.看见body里有source.php 打开这个source.php 看见了源码 highlight_file(FILE); 这行代码用于高亮显示当前文件的源码&#xff0c;适合调试和学习&#xff0c;但在生产环境中通常不需要。 class emmm 定义…

vue3项目history模式部署404处理,使用 historyApiFallback 中间件支持单页面应用路由

vue3项目history模式部署404处理&#xff0c;使用 historyApiFallback 中间件支持单页面应用路由 在现代的 web 开发中&#xff0c;单页面应用&#xff08;SPA&#xff09;变得越来越流行。这类应用通常依赖于客户端路由来提供流畅的用户体验&#xff0c;但在服务器端&#xf…

跨境电商平台系统开发

随着全球化的不断深入&#xff0c;跨境电商作为新兴的商业模式&#xff0c;越来越受到企业和消费者的关注。跨境电商平台的系统开发不仅涉及技术层面的挑战&#xff0c;更涉及到法律、物流、支付等多方面的因素。商淘云将分享跨境电商平台系统开发的主要环节&#xff0c;包括需…

《Web性能权威指南》-WebRTC-读书笔记

本文是《Web性能权威指南》第四部分——WebRTC的读书笔记。 第一部分——网络技术概览&#xff0c;请参考网络技术概览&#xff1b; 第二部分——无线网络性能&#xff0c;请参考无线网络性能&#xff1b; 第三部分——HTTP&#xff0c;请参考HTTP&#xff1b; 第四部分——浏览…

.NET 8 Web API 中的身份验证和授权

本次介绍分为3篇文章&#xff1a; 1&#xff1a;.Net 8 Web API CRUD 操作.Net 8 Web API CRUD 操作-CSDN博客 2&#xff1a;在 .Net 8 API 中实现 Entity Framework 的 Code First 方法https://blog.csdn.net/hefeng_aspnet/article/details/143229912 3&#xff1a;.NET …

android定时器循环实现轮播图

说明&#xff1a; android定时器加for循环实现轮播图 效果&#xff1a; step1: package com.example.iosdialogdemo;import android.os.Bundle; import android.os.Handler; import android.widget.ImageView; import android.widget.TextView;import androidx.appcompat.ap…

基于Node.js+Vue+MySQL实现的(Web)图书管理系统

1 需求分析 本图书管理系统主要实现对图书馆的管理&#xff1a;图书、读者、管理员、借阅。由此&#xff0c;结构可分为&#xff1a;图书管理、读者管理、管理员管理、借还管理、罚单管理、还书信息。 1.1 需求定义 1.1.1 图书管理 可对图书信息进行浏览、编辑&#xff08;…

计算机网络803-(5)运输层

目录 一.运输层的两个主要协议&#xff1a;TCP 与 UDP 1.TCP/IP 的运输层有两个不同的协议&#xff1a; 2.端口号(protocol port number) &#xff08;1&#xff09;软件端口与硬件端口 &#xff08;2&#xff09;TCP 的端口 &#xff08;3&#xff09;三类端口 二.用户…

机器学习之fetch_olivetti_faces人脸识别--基于Python实现

fetch_olivetti_faces 数据集下载 fetch_olivetti_faceshttps://github.com/jikechao/olivettifaces sklearn.datasets.fetch_olivetti_faces(*, data_homeNone, shuffleFalse, random_state0, download_if_missingTrue, return_X_yFalse, n_retries3, delay1.0)[source] L…

嵌入式硬件电子电路设计(三)电源电路之负电源

引言&#xff1a;在对信号线性度放大要求非常高的应用需要使用双电源运放&#xff0c;比如高精度测量仪器、仪表等;那么就需要给双电源运放提供正负电源。 目录 负电源电路原理 负电源的作用 如何产生负电源 负电源能作功吗&#xff1f; 地的理解 负电压产生电路 BUCK电…

【SpringMVC】传递json,获取url参数,上传文件

【传递json数据】 【json概念】 一种轻量级数据交互格式&#xff0c;有自己的格式和语法&#xff0c;使用文本表示一个对象或数组的信息&#xff0c;其本质上是字符串&#xff0c;负责在不同的语言中数据传递与交换 json数据以字符串的形式体现 【json字符串与Java对象互转…

web3.0 开发实践

优质博文&#xff1a;IT-BLOG-CN 一、简介 Web3.0也称为去中心化网络&#xff0c;是对互联网未来演进的一种概念性描述。它代表着对现有互联网的下一代版本的设想和期望。Web3.0的目标是通过整合区块链技术、分布式系统和加密技术等新兴技术&#xff0c;构建一个更加去中心化…

10.31.2024刷华为OD C题型

文章目录 HJ26HJ27语法知识记录 10.24.2024刷华为OD C题型&#xff08;四) - HJ26 HJ27 def get_dict(str1: str):dic_0 {}for ch in str1:if ch not in dic_0:dic_0[ch] 1else:dic_0[ch] 1return dic_0temp input().split() n int(temp[0]) list [] for i in range(n):l…

客户服务数据分析:洞察客户需求,优化服务策略

在数字经济时代&#xff0c;数据已成为企业决策的重要依据。特别是在客户服务领域&#xff0c;通过深度挖掘和分析客户服务数据&#xff0c;企业能够更精准地洞察客户需求&#xff0c;优化服务策略&#xff0c;从而提升客户满意度和忠诚度&#xff0c;增强市场竞争力。 一、客户…

【SQL】 Navicate 17 连接sql server

一直连接不上&#xff0c;找了好多博客&#xff0c;最后发现是端口号的字符串有问题 [08001] [Microsoft][ODBC Driver 17 for SQL Server]SQL Server Network Interfaces: Connection string is not valid [87]. (87) [HYT00] [Microsoft][ODBC Driver 17 for SQL Server]Lo…

低至599元的N100办公神器,节能静音还双网口,區克MAX N迷你主机深度拆解与评测

低至599元的N100办公神器&#xff0c;节能静音还双网口&#xff0c;區克MAX N迷你主机深度拆解与评测 哈喽小伙伴们好&#xff0c;我是Stark-C~ 最近有小伙伴找到我想我咨询&#xff0c;想要一个日常使用&#xff0c;主打办公&#xff0c;闲暇之余刷刷视频看看剧的小主机&…

CSS--导航栏案例

利用CSS制作北大官网导航栏 详细代码如下&#xff1a; <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title><style>*{margin: 0;padding: 0;}#menu{background-color: darkred;width: 100%;height: 50px…

详细分析Pytorch中的transpose基本知识(附Demo)| 对比 permute

目录 前言1. 基本知识2. Demo 前言 原先的permute推荐阅读&#xff1a;详细分析Pytorch中的permute基本知识&#xff08;附Demo&#xff09; 1. 基本知识 transpose 是 PyTorch 中用于交换张量维度的函数&#xff0c;特别是用于二维张量&#xff08;矩阵&#xff09;的转置操…

2024年11月1日Day2第一部分(最详细简单有趣味的介绍2

1.CRC编解码练习 要计算CRC&#xff08;循环冗余校验&#xff09;码并验证及纠正接收到的数据&#xff0c;我们需要按照以下步骤进行&#xff1a; 步骤 1: 计算CRC校验码 信息字段代码: x1001生成多项式: G(x)x3x21&#xff0c;即 G(x)1101&#xff08;注意&#xff1a;这里…