excelvba批量生成文件(批量导入某个目录下的CSV到同一Excel)

前几天同事妹子突然在群里@我,问我懂不懂宏,她经常都要把导出来的一堆csv格式数据导入到同一个Excel里处理、保存。然后我就帮她写了个宏,但是她又不懂怎么用

于是就有了上一篇推文【office技巧】宏。

原本给她写的是通过【打开一个CSV,复制到ActiveSheet里。接着打开下一个CSV】循环。

但有个缺点:默认情况下CSV用Excel直接打开,长串数字会自动转成科学记数法存储,而且过长的后面全部变成0000了。。。

于是昨晚又彻夜不眠地改了一个通用型的版本,V2.0,哈哈哈。

1、宏代码

这个功能通过宏来实现,分两种模式:

1、导入到Excel的同一个工作表中;

2、导入到Excel的不同工作表,并以CSV名称命名sheet

Sub ImportMultiCSV()

Application.ScreenUpdating = False

Dim myFile$, myPath$, i%, Arraycol%, myArray() As Integer, independent%

With Application.FileDialog(msoFileDialogFolderPicker)

.Title = "选择目标文件夹"

If .Show = -1 Then

myPath = .SelectedItems(1)

Else

傻瓜式步骤:

excelvba批量生成文件(批量导入某个目录下的CSV到同一Excel)(1)

静态步骤:

excelvba批量生成文件(批量导入某个目录下的CSV到同一Excel)(2)

然后选择导入的CSV数据有多少列(如原始列数有n列,则输入>=n的数字都可以。例如我的素材有8列,则输入8或以上数字都可以):

excelvba批量生成文件(批量导入某个目录下的CSV到同一Excel)(3)

『模式1』所有CSV数据汇总在同一个sheet中。

『模式2』每个CSV各自成一个sheet。

excelvba批量生成文件(批量导入某个目录下的CSV到同一Excel)(4)

excelvba批量生成文件(批量导入某个目录下的CSV到同一Excel)(5)

『模式1』结果:

excelvba批量生成文件(批量导入某个目录下的CSV到同一Excel)(6)

『模式2』结果:

excelvba批量生成文件(批量导入某个目录下的CSV到同一Excel)(7)

3、动图演示

excelvba批量生成文件(批量导入某个目录下的CSV到同一Excel)(8)

结束语

本次的【宏】可以运用到CSV、TXT在内的所有文本格式数据导入,只要将代码里的〖*.csv〗改成〖*.txt〗就行了。

原创不易,转载请保留出处。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页