首页 > 其他分享 >1、合并多个Excel表格的多个sheet到一个工作簿

1、合并多个Excel表格的多个sheet到一个工作簿

时间:2023-04-13 15:45:44浏览次数:46  
标签:False 多个 ActiveSheet Excel Application Sheets sheet

来源:https://www.zhihu.com/question/20366713/answer/1514642143

一、需求描述

存在两个Excel工作簿,每个工作簿有多个sheet,需要将两个工作簿中所有sheet合并到一个工作簿。

二、实现

新建Excel工作簿《1.xlsx》,打开该工作簿,按Alt+F11两键,调出Visual Basic 界面,在左侧窗口中,右键选择“插入”—“模块”,将代码粘贴进去,点击运行按钮,完成数据表合并。代码如下

a) 将多个Workbook中的sheets合并到一个Book中:

Sub Workbook_merge()
Rem This script is used to collect worksheets of serval workbooks into one workbook!

Dim FileOpen
Dim X As Integer
Dim Wb As Workbook
Dim sh As Worksheet
Application.ScreenUpdating = False
FileOpen = Application.GetOpenFilename(FileFilter:="Microsoft Excel Workbook(*.xlsx),*.xlsx", MultiSelect:=True, Title:="Please select the Workbooks you want to merge:")
X = 1
Application.DisplayAlerts = False
While X <= UBound(FileOpen)
      Set Wb = GetObject(FileOpen(X))
      For Each sh In Wb.Sheets
          If Application.WorksheetFunction.CountA(sh.Cells) <> 0 Then
             sh.Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
          End If
      Next
      Wb.Close SaveChanges:=False
      X = X + 1
Wend
Application.DisplayAlerts = False
ThisWorkbook.Save
Application.ScreenUpdating = True
End Sub

b) 合并一个Book中的多个Sheets到当前sheet的代码(自动忽略空白Sheets)

Sub Sheet_merge()
Rem This Script can be used to merge all worksheets into current worksheet!
   Application.ScreenUpdating = False  
   For j = 1 To Sheets.Count
       If Sheets(j).Name <> ActiveSheet.Name Then
          X = ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Rows.Count
          Sheets(j).UsedRange.Copy ActiveSheet.Cells(X, 1)
       End If      
   Next
   Application.ScreenUpdating = True
   MsgBox "All sheets have been merged!", vbInformation, "Attention"
End Sub

 

标签:False,多个,ActiveSheet,Excel,Application,Sheets,sheet
From: https://www.cnblogs.com/cmxu/p/17315055.html

相关文章

  • CAD如何设置多个视口同步?CAD视口同步设置技巧
    在CAD绘图过程中,如果想要多个CAD视口同步,该如何操作呢?本节内容小编就以浩辰CAD软件为例来给分享一下多个CAD视口同步的设置技巧,一起来看看吧!CAD视口同步设置技巧:浩辰CAD软件扩展工具中提供了CAD视口同步功能,其可用于将一个或多个相邻的布局视口中的视图与主布局视口对齐。所有同......
  • pandas-多个DataFrame同时进行merge合并
    https://blog.csdn.net/Elvis__c/article/details/126411204#假设有表df1-df2-df3-df4四张表res=[df1,df2,df3,df4]importpandasaspdfromfunctoolsimportreduceres_merge=reduce(lambdaleft,right:pd.merge(left,right,on=['name'],how='left'),re......
  • EXCEL笔记
    1.EXCEL_VBA常用语句300句http://ishare.iask.sina.com.cn/f/buTg9YmOAZ3.html      2.EXCEL使用技巧Word/PPT/Excel/PDF格式互转方法https://baijiahao.baidu.com/s?id=1591720369258445486&wfr=spider&for=pc3.使用if函数进行判断https://mbd.baidu.com/newspage/data/......
  • 读取Excel表格数据做接口自动化测试并回写执行结果(待完善更新)
     待测试接口:代码脚本:控制台日志:执行结果:后续待完善:Excel表格增加请求方式(常用方式POST/GET/PUT)列;根据Excel表格内容(请求头Header、请求参数Parameter、请求体Body)发起请求;根据Excel表格内容(期望响应码、期望响应内容)与实际响应内容校验;考虑更多应用场景,增加判断......
  • 读取Excel表格数据做接口自动化测试并回写执行结果(待完善更新)11
    读取Excel表格数据做接口自动化测试并回写执行结果(待完善)待测试接口:代码脚本:控制台日志:执行结果:后续待完善:Excel表格增加请求方式(常用方式POST/GET/PUT)列;根据Excel表格内容(请求头Header、请求参数Parameter、请求体Body)发起请求;根据Excel表格内容(期望响应码、期望响应内容)与实际响......
  • C语言或C++语言的多个文件共同处理资料之方法
    C语言和C++语言在多个文件互相包含时会产生顺序方面的冲突,为了实现多个文件处理共同的资料,我说一个实现它的方法。把对象资料放在资料文件,在设置资料的方法文件中导入资料文件,然后在主文件中导入资料文件和方法文件,用方法文件的方法设置资料。它们的特点是依照先后顺序导入,不互相......
  • Excel 2010 快捷键
    Excel2010中的键盘快捷方式全部隐藏本文介绍按键提示的定义以及它们用于访问功能区的方式。本文还列出了Ctrl组合快捷键、功能键和一些其他MicrosoftExcel常用快捷键。 注释   如果您使用的是MicrosoftExcelStarter2010,请注意,并非所有列出的Excel功能在Excel......
  • excel柱形图设置未达目标值的显示红色
    原始图形  1、目标左侧添加两列成绩值,成绩达标列输入函数=IF(G2>=F2,G2,NA())并向下填充;成绩不达标列输入函数=IF(G2<F2,G2,NA())并向下填充;达成率前置到目标前,重新生成图表  3、右键设置图表区域格式,设置系列重叠100%并设置成绩不达标的为红色即可 此方式仅适合只......
  • Python爬虫之循环爬取多个网页
    之前的文中介绍了如何获取给定网址的网页信息,并解析其中的内容。本篇将更进一步,根据给定网址获取并解析给定网址及其相关联网址中的内容。要实现这些功能,我们需要解决以下问题:1、如何持续不断的获取url,并读取相关内容。2、如何判断网址是否已经读取过。文中用到的代码均已上传......
  • C# 使用OLEDB 读不出 Excel 参数配置说明 Excel 12.0; HDR=Yes; IMEX=1;READONLY=1
    ///<summary>///Excel文件连接字符串///</summary>privateconststringexcelConnnectionString="Provider=Microsoft.ACE.OLEDB.12.0;DataSource={0};ExtendedProperties='Excel12.0;HDR=Yes;IMEX=1;READONLY......