批量提取合并EXCEL表格数据 从特定行开始(去表头合并)

news/2024/11/23 17:02:54/

OFFICE excel功能着实强大
遇到一大批三调数据需要处理,近100个Excel表格需要合并,导入数据库。
终于在百度各大神的方法下找到了解决方法

1将所有要合并的表格汇总至一个新的文件夹中

2还是在这个文件夹中创建一个新的空excel表,用于将合并后的数据存入

3右击空表表格底部【sheet1】选择【查看代码】

将如下的内容复制进代码中

Sub 合并当前目录下所有工作簿的全部工作表()Dim MyPath, MyName, AWbNameDim Wb As Workbook, WbN As StringDim G As LongDim Num As LongDim BOX As StringApplication.ScreenUpdating = FalseMyPath = ActiveWorkbook.PathMyName = Dir(MyPath & "\" & "*.xls")AWbName = ActiveWorkbook.NameNum = 0Do While MyName <> ""If MyName <> AWbName ThenSet Wb = Workbooks.Open(MyPath & "\" & MyName)Num = Num + 1With Workbooks(1).ActiveSheet.Cells(.Range("B65536").End(xlUp).Row + 2, 1) = Left(MyName, Len(MyName) - 4)For G = 1 To Sheets.CountWb.Sheets(G).UsedRange.Offset(6).Copy .Cells(.Range("B65536").End(xlUp).Row + 1, 1)NextWbN = WbN & Chr(13) & Wb.NameWb.Close FalseEnd WithEnd IfMyName = DirLoopRange("B1").SelectApplication.ScreenUpdating = TrueMsgBox "共合并了" & Num & "个工作薄下的全部工作表。如下:" & Chr(13) & WbN, vbInformation, "提示"End Sub

特别注意,因为我需要合并的表格存在三级分类,所以去除了前6行
语句

Wb.Sheets(G).UsedRange.Offset(6).Copy .Cells(.Range(“B65536”).End(xlUp).Row + 1, 1)

中的6就是去除前6行的意思,如果不想去表头,可以写为

Wb.Sheets(G).UsedRange.Copy .Cells(.Range(“B65536”).End(xlUp).Row + 1, 1)

在此贴出借鉴的小伙伴的网页链接

  • 从这个链接中知道使用Offset
    http://www.excelpx.com/thread-327488-1-1.html
  • 这个链接中借鉴了语句
    https://zhidao.baidu.com/question/96195372.html

http://www.ppmy.cn/news/790922.html

相关文章

Excel 从多个文件提取指定的多行(固定行)进行汇总的工具

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、工具位置二、使用步骤总结 前言 Excel 如果从多个文件提取指定的行汇总到一个文件&#xff1f;在办公过程中我们往往需要将多个文件的相关内容汇总到一起。…

excel怎么批量插行_excel如何批量在文字前加上固定文字

在EXCEL中,怎么在一列文字前统一加上某个固定文字?下面一起来看下老师整理的具体操作方法。本文分享了excel批量添加文字的两种方法,分别通过设置单元格格式和公式来实现excel批量添加文字。excel批量添加文字方法一:使用设置单元格格式来实现。操作步骤演示:1、选择“学习…

Excel如果按固定行数拆分表工具(跳过表头 )

需要描述&#xff1a; 如下图所示Excel 第一行、第二行认为是表头&#xff0c;从第三行开始&#xff0c;每18行为一个数据表。 要将第三行的值作为表的名称。 解决方案&#xff1a; 使用按固定行拆分表工具如下&#xff1a; 工具位置&#xff1a;Excel常用在线工具 &#x…

Excel 冻结指定行 / 列

目录 假设你的表格是这样的&#xff1a; 1. 确定你要冻结的行列数 2. 计算下一个单元格的位置 3. 选中红框的单元格&#xff0c;视图 > 冻结窗格 > 冻结拆分窗格 4. 出现下面红框中的线即代表功能已经实现。 在使用 Excel 的过程中&#xff0c;经常会需要保持某一行 / 某…

excel 固定前几行

问题描述 原本只需要固定第一行&#xff0c;后面因为需要&#xff0c;想固定前2行&#xff0c;百度了一下&#xff0c;一般解决办法&#xff0c;我试了一下&#xff0c;不能用&#xff08;我的列数比较多&#xff0c;一页不能显示完全&#xff09; 解决办法 这办法是偶然间发…

【python Excel操作】1-批量读取统一文件夹下Excel中固定行列值,并合并到一张Excel中

-参考这位博主的代码原文链接 批量读取了统一文件夹下所有Excel的固定行列值&#xff0c;并合并写入一张Excel中 def to_one_excel(dir):dfs []#for循环&#xff0c;遍历文件夹下所有Excel文件for root_dir, sub_dir, files in os.walk(dir):#files 是文件夹下的所有文件&…

excel表格怎么固定表头?

大家在办公过程中&#xff0c;经常都会用到excel吧&#xff0c;那你知道怎么让excel表格固定表头吗&#xff1f; 纯净之家-win7纯净版系统_win7 ghost 纯净版 固定表头 1、打开Excel表格。 2、选中需要固定的表头。 3、在菜单栏【视图】中点击【冻结窗口】-【冻结首行】。 4、…

Excel如何固定表头,任意一行

在日常Excel操作中&#xff0c;有时候内容比较多&#xff0c;需要将表头固定才能方便查看。那么&#xff0c;该如何固定表头呢&#xff1f;或者说如何固定任意一行我们制定的呢&#xff1f;下面以Excel2013进行详细的步骤讲解。 首先打开需要操作的Excel&#xff0c;以下面的内…