datagridview 选择指定列 winform_需要按指定条件批量删除工作簿?一键搞定

点上方关注我们,每天早上5分钟,让Excel多点轻松49bc1299cfb9a26d6cd1bf19378c0409.gif

大家好,我是星光,孔子曰一日不见如隔三秋兮——多无聊的人这是~今天和大家分享的VBA小代码是按指定条件批量删除工作簿。
如下图所示,文件夹下包含了多个Excel文件,需要按你的任意规则对其删除全部或一部分。

2fff52bf3b918d9f7ae5536d0c3c62fe.png


 1使用以下代码,将指定文件夹下文件名提取到当前工作表的A列。发

Sub GetFiles()    Dim strPath As String, strFileName As String, k As Long    With Application.FileDialog(msoFileDialogFolderPicker)        If .Show Then strPath = .SelectedItems(1) Else: Exit Sub        '获取用户选择的文件夹的路径,如果未选取,则退出程序    End With    If Right(strPath, 1) <> "\" Then strPath = strPath & "\"    Application.ScreenUpdating = False    Range("a:b").Clear: k = 1    '清除A:B列的所有    Cells(1, 1) = "旧文件名": Cells(1, 2) = "是否删除"    strFileName = Dir(strPath & "*.xls*")    Do While strFileName <> ""        k = k + 1        Cells(k, 1) = strPath & strFileName        strFileName = Dir    Loop    Application.DisplayAlerts = TrueEnd Sub

结果如下图所示。

14e6e024bf58d2a8df1760ed855cf8c7.png

 2,对需要删除的文件,使用函数等方法,在B列标记“删除”。

fcc7a4a0a67bb046c5133697fcccf009.png

 3,复制运行以下代码,即可完成对A列标记“删除”的文件批量删除。

Sub DeleteFile()
    Dim r, i As Long
    r = Range("a1").CurrentRegion '数据装入数组
    For i = 2 To UBound(r)
    '标题行不要,从数组第二行开始遍历
        If r(i, 2) = "删除" Then Kill r(i, 1) 'Kill语句删除指定文件
    Next
    MsgBox "完成。"
End Sub

代码三五行,工作不用忙断肠,你也试一下吧~

如果你还不懂得如何运行VBA代码,可以参考:如何运行VBA代码?
依次点击菜单【进阶教程】→【VBA常用代码】可以获取更多实用VBA小代码。
小贴士:
本文第二段代码通过Kill语句从磁盘删除文件,它的语法是
Kill pathname

参数pathname是必须的,一个字符串表达式,用来指定要删除的文件名,可以包含目录或文件夹以及驱动器,可以使用通配符指定多个文件。比如,删除D:\看见星光下的所有包含“星光”的Excel工作簿,代码如下:
Kill "D:\看见星光\*星光*.xls*"

星号(*)是通配符,可以代替零到多个字符。 本期示例文件下载: https://pan.baidu.com/s/1HK2htdV3gRWgtQS6HTE7Ww
提取码: mbuc   系统学习Excel,推荐加入我的Excel社群 d78a8e8806b519ad1a063ca777621d8e.png

更多教程&练习

  • 教程1:零基础学Excel(一)什么是Excel?

  • 教程2:零基础学SQL in Excel 25篇合集

  • 作业集:学习不练习=没学习,答题开始!


©看见星光

220559bd4f72a487fe3d358882664636.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值