使用EXCEL中的宏将多个CSV文件指定单元格复制到表格中

使用EXCEL中的宏将多个CSV文件指定单元格复制到表格中请哪位大神提供一下宏代码,谢谢

第1个回答  2018-06-28
用excel2016,powerquery,从指定文件夹中获取数据,不用写vba就搞定了。追问

只需要用VBA代码这种方式,谢谢

只需要用VBA代码这种方式,谢谢

第2个回答  推荐于2018-07-01
单凭这一句话,即使写出了代码也不可能满足你的需求。
你的文件像什么样子、在什么地方、需要提前哪些内容、提取出来放到哪里?如果你是打算自己写代码,可以说说你具体遇到了什么困难,哪个语句不会写?追答

请看你的代码中的下面语句:
Arr = wb.ActiveSheet.Range("A1").CurrentRegiuon
表示提取打开的CSV语句中的全部内容,如果你只需要G2:G5,修改该语句为下面这样就可以:
Arr = wb.ActiveSheet.Range("G2:G5")
请看语句修改的地方,你应该也会猜着修改为你需要的了吧。

追问

那要是同时导入多个CSV文件呢,该怎么修改代码

追答

处理多个文件的模版代码:

p = "c:\csv\"  '文件夹,必须以\结尾
f = dir(p & "*.csv")
while f<>""
    set wb=workbooks.open(p & f) '打开文件
    '进行处理
    wb.close '关闭文件
    f = dir
wend

追问

把数据复制到指定位置后,再进行复制会将前面的数据覆盖了,如何实现自动检查有数据在然后自动复制到旁边的单元格中呢

追答

不知道你的旁边是什么意思,也不知道你想放在哪里,如果希望放在G列开始,不断往右边扩展,代码如下:

j = 7 'G列
while f<>""
    '......
    cells(1,j).resize(5,1) = arr
    j=j+1 '下一列
    f = dir
wend

追问

谢谢

本回答被提问者和网友采纳
第3个回答  2018-06-28
vb">
@echo off
E:
cd xls
dir
copy *.csv all_keywords.csv
echo @@@@@@@@@@@@@合并成功!@@@@@@@@@@@@@'
pause
新建文本文件,打开,复制以下代码到文件中保存为 “合并.bat”批处理文件。运行即可

E: 是盘符

xls是文件夹
相似回答