excel 求批量合并csv文件的宏

多个csv文件存放于一个目录,格式相同,列数相同,要求合并成一个xlsx文件... 多个csv文件存放于一个目录,格式相同,列数相同,要求合并成一个xlsx文件 展开
 我来答
veimi
推荐于2016-11-09 · TA获得超过2350个赞
知道大有可为答主
回答量:5720
采纳率:28%
帮助的人:3107万
展开全部

@echo off
E:
cd xls
dir
copy *.csv all_keywords.csv
echo @@@@@@@@@@@@@合并成功!@@@@@@@@@@@@@'
pause

新建文本文件,打开,复制以下代码到文件中保存为 “合并.bat”批处理文件。运行即可

E: 是盘符

xls是文件夹

百度网友e1af404
2015-03-30 · TA获得超过1.3万个赞
知道大有可为答主
回答量:1.1万
采纳率:59%
帮助的人:4141万
展开全部

代码如下:

Sub test()
Dim wb As Workbook, mary, f As String, mPath As String
'数据环境初始化
If Workbooks.Count > 1 Then MsgBox "关闭其他工作簿后重试": Exit Sub
'设置路径
MsgBox "选择原始数据所在的文件夹!"
With Application.FileDialog(msoFileDialogFolderPicker)
    .AllowMultiSelect = False
    .Show
    If .SelectedItems.Count = 0 Then MsgBox "你放弃了操作!": Exit Sub
    mPath = .SelectedItems(1)
End With
Application.ScreenUpdating = False
f = Dir(mPath & "\*.csv")
Do While f <> ""
    Set wb = Workbooks.Open(mPath & "\" & f)
    mary = wb.Worksheets(1).[a1].CurrentRegion
    wb.Close 0
    With ThisWorkbook.Worksheets(1)
        mrow = Application.CountA(.Range("A:A")) + 1
        .Cells(mrow, 1).Resize(UBound(mary, 1), UBound(mary, 2)) = mary
    End With
f = Dir
Loop
Application.ScreenUpdating = True
MsgBox "处理完成!"
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式