分享

合并多个Excel工作表,你会吗?

 老狗的图书馆 2019-05-31

PowerQuery是一个非常强大的数据抓取工具,Excel2016自带Power Query功能,可以直接使用,但Excel2010、2013版本需要自行安装。

下载地址:

https://www.microsoft.com/zh-CN/download/details.aspx?id=39379

如下图所示,这些需要合并的工作表都是位于独立的不同工作簿中,我们把这些工作簿放置在同一个文件夹中。

接下来我们看下合并内容的具体操作:

1、在工作表所在文件夹外新建一个工作簿,用来放置汇总的数据。打开新建工作簿,在【数据】选项卡下点击“新建查询”,选择“从文件夹”导入,在弹出的对话框中,“文件夹路径”找到需要合并的这几个工作表所在的文件夹,点击确定。或者直接复制该文件夹的路径复制粘贴也可以。

2、点击“确定”后进入了PowerQuery界面,文件夹下的所有文件基本信息被提取出来,包括文件名、后缀名、文件创建时间、文件完整路径等信息。点击“转换数据”,进入PowerQuery编辑器,在“添加列”里点击“自定义列”,输入自定义列公式=Excel.Workbook([Content]),这里要注意首字母的大小写。

3、点击“确定后”,点击新添加的自定义列扩展按钮,取消勾选“使用原始列名作为前缀”,接着在Data列再次点击扩展按钮,确定,点击鼠标右键选择则“删除其他列”。在开始选项卡里,选择“关闭并上载至”,将数据加载至现有工作表。最后对数据稍微处理即可。

PS:如果是要把多个工作表内容合并到同一个工作簿里,同时内容仍然保存在对应的不同工作表里,也就是把不同工作簿里的不同工作表,合并到同一个工作簿里面储存。如果要实现这样的效果,我们可以利用代码来实现。

在新的工作簿中,点击鼠标右键选择“查看代码”,复制以下代码:

Sub 工作薄间工作表合并()

Dim FileOpen

Dim X As Integer

Application.ScreenUpdating = False

FileOpen = Application.GetOpenFilename(FileFilter:='Microsoft Excel文件(*.xlsx),*.xlsx', MultiSelect:=True, Title:='合并工作薄')

X = 1

While X <= UBound(FileOpen)

Workbooks.Open Filename:=FileOpen(X)

Sheets().Move After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)

X = X   1

Wend

ExitHandler:

Application.ScreenUpdating = True

Exit Sub

errhadler:

MsgBox Err.Description

End Sub

复制完之后按F5键。

  教 程 推 荐   

730分钟教程,120个视频,只需108元!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多