多个excel文件内容合并成一个文件表内容

多个excel文件内容合并成一个文件表内容

Sub 简单合并()

Dim FS, fils, fil, fol, bname, ename

Set FS = CreateObject("scripting.filesystemobject")
Set fol = FS.getfolder("D:\待合并文件\")
Set fils = fol.Files
'新增工作表
Workbooks.Add

Dim st1, st2, st1row, st2row, wb2
Set wb1 = ActiveWorkbook
Set st1 = ActiveSheet

'对每个文件进行循环
For Each fil In fils
    '获取文件的主名和拓展名
    bname = FS.getbasename(fil)
    ename = FS.getextensionname(fil)
    '判断一下文件的拓展名是不是常见的Excel文件格式
    If InStr(1, "xlsxlsmxlsx", ename, vbTextCompare) Then
        Workbooks.Open fil
        Set wb2 = ActiveWorkbook
        Set st2 = ActiveSheet
        '判断一下存放合并内容的工作簿是不是空表,如果是空表则需要处理一下表头
        If st1.[a1].Value = "" Then
            st1.[a1].Value = "来源表格"
            st2.Range("a1:z1").Copy st1.[B1]
            
        End If
        '获取两个表格行号
        st1row = st1.Cells(st1.Cells.Rows.Count, 1).End(xlUp).Row
        st2row = st2.Cells(st2.Cells.Rows.Count, 1).End(xlUp).Row
        '把打开的文件内容复制到存放合并内容的工作簿内
        st2.Range("A2:Z" & st2row).Copy st1.Cells(st1row + 1, 2)
         '在存放合并内容的工作簿的A列写入内容来源的表名
        st1.Range("a" & st1row + 1 & ":a" & st1row + st2row - 1).Value = bname
        '关闭被合并的工作簿
    End If
    '关闭被合并的工作表
    wb2.Close
 
Next



End Sub

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值