Excel怎样批量不同文件夹文件复制一个文件夹中
来源:网络收集 点击: 时间:2024-03-06上次分享了《Excel怎样批量提取文件夹和子文件夹所有文件》经验,将《Excel怎样批量提取文件夹和子文件夹所有文件.xlsm》文件名另存为《Excel怎样批量不同文件夹文件复制一个文件夹中 .xlsm》(演示文件,下面代码复制到能运行宏的工作簿都可以)如图。

然后按下快捷键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


以上操作动态过程如下:

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

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



如果觉得这篇经验帮到了您,请点击下方的 “投票点赞 或者“收藏”支持我!还有疑问的话可以点击下方的 “我有疑问”,谢谢啦!
注意事项动态图片要双击成单独大图才能播放全过程。
批量文件复制复制相同名文件版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_271602.html