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
傻瓜式步骤:
静态步骤:
然后选择导入的CSV数据有多少列(如原始列数有n列,则输入>=n的数字都可以。例如我的素材有8列,则输入8或以上数字都可以):
『模式1』所有CSV数据汇总在同一个sheet中。
『模式2』每个CSV各自成一个sheet。
『模式1』结果:
『模式2』结果:
3、动图演示
结束语
本次的【宏】可以运用到CSV、TXT在内的所有文本格式数据导入,只要将代码里的〖*.csv〗改成〖*.txt〗就行了。
原创不易,转载请保留出处。
,
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com