简单几步,根据Excel名单自动筛选出目标文件,并移动/复制到新的文件夹

您所在的位置:网站首页 excel怎么筛选出自己想要的内容并复制到另一个表格 简单几步,根据Excel名单自动筛选出目标文件,并移动/复制到新的文件夹

简单几步,根据Excel名单自动筛选出目标文件,并移动/复制到新的文件夹

#简单几步,根据Excel名单自动筛选出目标文件,并移动/复制到新的文件夹| 来源: 网络整理| 查看: 265

使用场景

工作中我们可能会遇到这样的场景:需要按照一个特定的规则清单,将某些文件从一个文件夹筛选出来。比如说:从1000份体检报告中,筛选出单位A的文件。这时候我们拿着单位A的名单一个个复制出来,可能要到猴年马月了。

举例说明

庆余年剧组的部分人员参加了年度体检,体检报告与其他剧组的共同存放在test1这个文件夹中。现在需要从test1文件夹中找出庆余年剧组参加了体检的人员的报告。

方法概述将test1文件夹中的文件形成一份列表列表与庆余年剧组人员名单进行比对根据最终清单使用VBA代码移动文件生成文件列表标记文件夹路径:E:\测试\test1点击系统的开始菜单=>运行(win+r)=>cmd 将CMD中的路径切换为当前文件夹路径(英文输入法)首先切换为主系统盘,英文标点:键入【E:】然后回车然后切换为当前文件夹:键入【CD】+【空格】+【测试\test1】 键入【dir/b>E:\文件名单.xls】按下回车。文件路径可根据个人意愿改动。 处理文件名单单元格分列:将文件名称进行批量处理执行分列操作后,从文件名中提取待比对的信息 单元格分列https://www.zhihu.com/video/1197632154426068992使用Excel条件格式对名单进行比对开始=>条件格式=>突出显示单元格规则=>重复值 单元格校对https://www.zhihu.com/video/1197632288119324672处理最终名单并与源文件名称拟合名单格式与报告文件名称格式需要一致,因此需要将excel名单进行处理 使用Excel的CONCATENATE函数进行名单处理 单元格文本连接https://www.zhihu.com/video/1197632441496469504使用VBA代码自动筛选移动/复制文件VBA文件移动代码https://www.zhihu.com/video/1197632641846190080 打开最终名单Excel中表格,打开 Microsoft Visual Basic for Applications 窗口 - 按住ALT+F11或点击【开发工具=>Visual Basic】 点击 插入=> 模块,并将以下VBA代码粘贴到模块窗口中。Sub movefiles() 'Updateby Extendoffice Dim xRg As Range, xCell As Range Dim xSFileDlg As FileDialog, xDFileDlg As FileDialog Dim xSPathStr As Variant, xDPathStr As Variant Dim xVal As String On Error Resume Next Set xRg = Application.InputBox("Please select the file names:", "KuTools For Excel", ActiveWindow.RangeSelection.Address, , , , , 8) If xRg Is Nothing Then Exit Sub Set xSFileDlg = Application.FileDialog(msoFileDialogFolderPicker) xSFileDlg.Title = " Please select the original folder:" If xSFileDlg.Show -1 Then Exit Sub xSPathStr = xSFileDlg.SelectedItems.Item(1) & "\" Set xDFileDlg = Application.FileDialog(msoFileDialogFolderPicker) xDFileDlg.Title = " Please select the destination folder:" If xDFileDlg.Show -1 Then Exit Sub xDPathStr = xDFileDlg.SelectedItems.Item(1) & "\" For Each xCell In xRg xVal = xCell.Value If TypeName(xVal) = "String" And xVal "" Then FileCopy xSPathStr & xVal, xDPathStr & xVal Kill xSPathStr & xVal End If Next End Sub然后点击运行或 F5 键,弹出一个提示框提醒你选择包含文件名的单元格 然后点击 OK 按钮,在弹出的窗口中,选择从哪个文件夹中移出文件 然后点击 OK,选择要移动到哪个文件夹 最后点击 OK 关闭窗口,现在,文件已经被移动到指定的另一个文件夹中,并且该文件夹是基于工作表列表中的文件名。

备注:如果只是想将文件复制到另一个文件夹,但保留原始文件,请使用下面的VBA代码:

Sub copyfiles() 'Updateby Extendoffice Dim xRg As Range, xCell As Range Dim xSFileDlg As FileDialog, xDFileDlg As FileDialog Dim xSPathStr As Variant, xDPathStr As Variant Dim xVal As String On Error Resume Next Set xRg = Application.InputBox("Please select the file names:", "KuTools For Excel", ActiveWindow.RangeSelection.Address, , , , , 8) If xRg Is Nothing Then Exit Sub Set xSFileDlg = Application.FileDialog(msoFileDialogFolderPicker) xSFileDlg.Title = "Please select the original folder:" If xSFileDlg.Show -1 Then Exit Sub xSPathStr = xSFileDlg.SelectedItems.Item(1) & "\" Set xDFileDlg = Application.FileDialog(msoFileDialogFolderPicker) xDFileDlg.Title = "Please select the destination folder:" If xDFileDlg.Show -1 Then Exit Sub xDPathStr = xDFileDlg.SelectedItems.Item(1) & "\" For Each xCell In xRg xVal = xCell.Value If TypeName(xVal) = "String" And xVal "" Then FileCopy xSPathStr & xVal, xDPathStr & xVal End If Next End Sub

【总结】这算是一篇比较硬核的教程文章了,但是实现起来还是比较容易的,小编也为大家录制了相关的动图,相信大家应该是可以看懂的。 最后欢迎大家关注公众号和博客,文中文末的广告帮忙点一下,秋梨膏!!!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3