从一张表里选择一列加入到另一张表_500个工作簿多表,电光火石之间合并成一张总表!只需一句话命令!...

比如有100个(或者更多)工作簿

每个工作簿里有若干个工作表

比如有一个或两个或三个

甚至更多的工作表

但是每个工作表结构一样

不能有合并单元格

表格的样子见下图

9114d91c58b29d18969277292ef95ffd.png

这样的很多个工作簿

合并在一起

有vba的方法

也有Power Query的方法

见以前分享过的文章

超级牛牛牛,100个工作簿里的多表数据,迅雷不及掩耳之势导入到一张总表里,你从未见过

珍藏!珍惜!珍视!100个表汇集到一个总表里?2段经典代码送给你!

一个工作簿里的100个表超速汇集,最牛的来了

今天再分享一种用DOS命令来批量合并多簿多表数据

到一个总表里

不过首先要把这些工作簿文件另存为csv格式的文件

在Excel里通过F12另存为,可以实现

8567e5b7dd570f4d46074a6c8f5ec183.png

但是一个个把工作簿文件另存为csv格式

太慢了

csv格式文件里只能允许保存一张工作表

关于CSV,百度的解释:

逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。通常,所有记录都有完全相同的字段序列。通常都是纯文本文件。建议使用WORDPAD或是记事本(NOTE)来开启,再则先另存新档后用EXCEL开启,也是方法之一。

那么怎么办呢?

如果是一个工作簿里有很多个工作表

每个工作表要另存为csv文件

8b392ff3bb1c6ead7172f69a0df13b81.png

那么可以用这段vba代码来处理

Sub 多表一一转成CSV()

    myPath = ThisWorkbook.Path

    For x = 1 To Worksheets.Count

        Name = "\" & Sheets(x).Name & ".csv"

        filepath = myPath & Name

        Sheets(x).SaveAs Filename:=filepath, FileFormat:= _

            xlCSV, CreateBackup:=False

    Next

End Sub

在这个有多表的工作簿里,按ALT+F11,

插入,模块

把上面代码粘贴过来

08848b5e26863420290b796b048c7092.png

然后关闭vba编辑窗口

再按ALT+F8,执行这个程序代码

5ce87289f959079ea2fef0c1449f93de.png

就会立即在当前工作簿所在的文件夹里

生成很多的csv文件

cf39179eb209893ef8f86dab4b6bca15.png

如果是很多工作簿,里面有若干工作表

每个工作表要另存为csv格式的文件

那么就要用下面这段代码

使用方法同上

新建一个空白工作簿

另存为启用宏的工作簿类型

(有代码的工作簿都应该保存为这个类型)

2ee4b4f367a94fe121a47a695b439e00.png

这里有2个文件夹

一个文件夹是存储近500个工作簿的,叫“新建文件夹”

一个文件夹是将来存储csv格式的文件的,叫“存CSV的”

代码如下:

Sub 多簿存为CSV格式()

    Dim FileDir As String

    Dim wbook As Workbook

    Dim wsheet As Worksheet

    Dim ExcelPath As String

    Dim CsvPath As String

    ExcelPath = "E:\李则见的Excel网课\录制ing\新建文件夹\"

    CsvPath = "E:\李则见的Excel网课\录制ing\新建文件夹\存CSV的\"

    FileDir = Dir(ExcelPath)

    Do While (FileDir <> "")

        If Right(FileDir, 4) = ".xls" Or Right(FileDir, 5) = ".xlsx" Then

            On Error Resume Next

            Set wbook = Workbooks.Open(ExcelPath & FileDir)

            For Each wsheet In wbook.Sheets

                wsheet.SaveAs CsvPath & Split(wbook.Name, ".")(0) & "+" & wsheet.Name & ".csv", xlCSV

            Next wsheet

            wbook.Close False

            Set wbook = Nothing

        End If

        FileDir = Dir

        On Error GoTo 0

    Loop

End Sub

然后就可以执行了

在这个有这段vba代码的空白工作簿里

开发工具,宏,选择这段代码,执行

65478a62d8e17f51c6b9b45fb117a79c.png

大概需要8-9分钟

500个工作簿里的多表

就都存为csv格式了

86f4da7f83488c925ff7390f1554fb53.png

在这个csv存储的文件夹里

右键新建一个文本文件

打开后,写上一句命令

copy *.csv 总.csv

注意两两之间有空格

这个*.csv就代表当前文件夹里所有csv文件

这个总.csv就是汇总后的csv文件,这个文件会自动产生

1a3dd7272afd6b8d68cbef48508e0a78.png

然后把后缀改为bat

回车确认

双击这个bat文件

立即执行

大概十几秒就执行完毕

c758a13029fbf26a42d55f76f8d41515.png

汇总后的总表

d8cdd31f686fbacda7e56e4f1c31a495.png

然后对这个表筛选一下

对城市列筛选出“城市”

e2f7c0f85555482676ef75b60344acfe.png

然后选中筛选后的这些行删除掉

b7e2ce1c7c0b9af9e18ac374d322a312.png

取消筛选后,就得到只有一行标题的总表

8c50097062b7003bfc3386b1fa9e8b09.png

虽然看起来过程复杂

其实主要是处理csv格式的文件

真正的复制代码就一句话


洞悉Excel底层逻辑的框架完整

PPT/Word案例深入浅出、超越99.99%的同类课程

案例丰富,全网最实战的课程

office三剑客,一课顶万课,不用选择,不用纠结

职场高效技能,一套课程全搞定

你就是下一个气势恢宏的牛人高手大神

你开不开始,都已经晚了很久,因为很多人已经学了40个月了

只要您坚持学6个月,我一定确保您成为这个领域里的高手,顶尖高手不能确保,但睥睨周围同事横扫方圆99.99%的职场白骨精,我还是能确保的!

那么这套王牌的课程就是,

Excel+PPT修炼营Office小白变高手

点击阅读原文,打开购买链接,一次购买课程,享受终生辅导,李则见老师大部分情况下都直接回答你关于课程本身的所有问题,我微信号excelpptpeixun

b0e3736f617196cfd7a634e04e118a23.png

想学习更多,必须要投入

想学习更好,必须选择对的

想人前飘逸,必须人后受累

下面推荐一套对您有极大改变的office网课

[520节]Excel+PPT+Word小白变大神》 

点击“”直达,看看介绍、目录以及评价

课程确保您半年时间就能修炼成为高手

游刃有余在您的职场办公令人震惊地提升您的职场幸福感

课程一节只需1元钱,每个小时的视频只需4元钱

而一般网课且不说质量如何,单位价格是我课程的数倍甚至十几倍

所以,选择加入我的网课学习,

是office网课里几乎当仁不让地不二选择

您信呢就加入,不用犹豫,李则见老师信誉保证

您不信呢就随缘。人呢总会在过尽千帆皆不是之后,

才知道曾经的错过是多么的可惜那么的珍贵。 

31fd69862dd4b27a6f2166a6b7ef10fc.png

5affa6a682be0ed96b18bcb6a85822ba.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值