Excel怎样批量不同文件夹文件复制一个文件夹中

2025-09-30 00:00:45

1、上次分享了《Excel怎样批量提取文件夹和子文件夹所有文件》经验,将《Excel怎样批量提取文件夹和子文件夹所有文件.xlsm》文件名另存为《Excel怎样批量不同文件夹文件复制一个文件夹中 .xlsm》(演示文件,下面代码复制到能运行宏的工作簿都可以)如图。

6Excel怎样批量提取文件夹和子文件夹所有文件

Excel怎样批量不同文件夹文件复制一个文件夹中

2、然后按下快捷键ALT+F11打开VBE(宏)编辑界面,然后在模块1代码框最后复制如下代码:

Private Function FINDZH(m, mm) As String

    '2020-10-10 21:33:15

    Dim m1 As String, mm1 As String, n As Long, n1 As Long

    On Error Resume Next

    m1 = m.Text

    mm1 = mm.Text

    If Err.Number <> 0 Then

        m1 = m

        mm1 = mm

    End If

    Err.Clear

    n = InStr(1, mm1, m1, 0)

    n1 = Len(m)

    If n = 0 Then

        FINDZH = n

    Else

        Do

            k = n

            n = InStr(n + n1, mm1, m1, 0)

        Loop Until n = 0

        FINDZH = k

    End If

End Function

Sub 批量复制文件()

    '2020-10-26 21:41:07

    Dim mp As String, m As String, n1 As String, n2 As String, d As Object

    mp = Range("B3").Text & "\"

    On Error Resume Next

    If Range("C" & Rows.Count).End(xlUp).Row = 4 Then Exit Sub

    Set d = CreateObject("scripting.dictionary")

    For i = 5 To Range("C" & Rows.Count).End(xlUp).Row

        If Range("C" & i).Text <> "" Then

           m = Range("B" & i).Text

my:

            d.Add m, ""

            If Err.Number <> 0 Then

                n1 = Left(m, FINDZH(".", m) - 1)

                n2 = Right(m, Len(m) - FINDZH(".", m) + 1)

                If IsNumeric(Right(n1, 1)) Then

                    m = Left(n1, Len(n1) - 1) & Val(Right(n1, 1)) + 1 & n2

                Else

                    m = n1 & "1" & n2

                End If

                Err.Clear

                GoTo my

            End If

            FileCopy Range("C" & i).Text, mp & m

        End If

    Next i

    MsgBox "完成"

End Sub

Excel怎样批量不同文件夹文件复制一个文件夹中

Excel怎样批量不同文件夹文件复制一个文件夹中

3、以上操作动态过程如下:

Excel怎样批量不同文件夹文件复制一个文件夹中

4、例:“20201020002”文件夹有4个子文件夹共11个文件复制到“20201020002”文件夹下的子文件夹“汇总文件”。

Excel怎样批量不同文件夹文件复制一个文件夹中

5、回到工作表窗口,首先在B1和B3填写文件夹路径,点下【列举所有文件名】命令按钮,列出所有文件名,然后运行【批量复制文件】宏(菜单栏中点【视图】中下列表中【宏】列表【查看宏(V)】打开宏对方框,选该宏名,执行),文件夹“汇总文件”复制所有文件,运行过程如下图。

Excel怎样批量不同文件夹文件复制一个文件夹中

Excel怎样批量不同文件夹文件复制一个文件夹中

Excel怎样批量不同文件夹文件复制一个文件夹中

6、如果觉得这篇经验帮到了您,请点击下方的 “投票点赞" 或者“收藏”支持我!还有疑问的话可以点击下方的 “我有疑问”,谢谢啦!

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢