vba移动文件_Excel VBA 之 按需求移动、复制文件

27c6bd4bc99074a4f9a8f2577438bd6b.png

今天接到一个需求,用VBA将一个文件夹内的文件分配到不同的文件夹中,我用了几行代码就解决了,现在我来分享给大家。

现在,文件夹内有一些文件,如图:

415ccd6601ba530a18c6a2e523565059.png

我们可以根据自己的需求在Excel表格里将文件结构编写一下,如图:

c4b84293c46127d20f9990fd17c0d663.png

然后,打开VBA编辑器,加入以下代码

00 Sub main()01     Dim fso02     Dim myPath$03     myPath = ThisWorkbook.Path & ""04     Set fso = CreateObject("Scripting.FileSystemObject")05     On Error Resume Next06     For i = 1 To [A1].End(xlToRight).Column07         MkDir (myPath & Cells(1, i))08         If Cells(2, i) <> "" Then09             For j = 2 To Cells(65536, i).End(xlUp).Row10                 If Dir(myPath & Cells(j, i)) <> "" Then11                     'fso.CopyFile myPath & Cells(j, i), myPath & Cells(1, i) & ""'复制12                     fso.MoveFile myPath & Cells(j, i), myPath & Cells(1, i) & "" '移动13                 End If14             Next15         End If16     Next17     On Error GoTo 018     Set fso = Nothing19 End Sub

写过这么多期了,估计大家也已经轻车熟路了,所以就不一一讲解了,如果有不明白的地方,可以私信或评论问我,我一定会回答大家。

其中,主要运用了以下几个知识点,

1.MkDir语句:新建目录或文件夹

2.Dir 函数:返回特定文件名(文件夹名),没有找到则返回“”

3.FileSystemObject 对象的MoveFile方法:将一个或多个文件从一个位置移动到另一个位置

4.FileSystemObject 对象的CopyFile方法:将一个或多个文件从一个位置复制到另一个位置

最后,我们来看一下最终效果:

abbc9f407b404e44ff813522b89e559a.gif

最终效果

大家可以点开下面链接,查看我的其他文章哦!

848个Excel VBA 实用技巧,实例+详细解析,入门必看,建议收藏

Excel VBA 之 去除重复项

Excel VBA 之 年会抽奖小程序

Excel VBA 之 将txt文档批量导入至Excel

Excel VBA 之 统计词汇出现次数

Excel VBA 之 随机抽取数据

。。。

喜欢本文章的朋友记得收藏、点赞、关注哦,网友们如果在Excel中遇到问题都可以找我交流,也可以在评论区或私信告诉我你想看到的VBA办公教程,我将在下期分享给大家,以后不定期更新Excel VBA技巧!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值