上犹电脑信息网我们一直在努力
您的位置:上犹电脑信息网 > 电脑怎么了 > 怎么批量删除空间说说-按条件批量删除Excel工作簿

怎么批量删除空间说说-按条件批量删除Excel工作簿

作者:上犹日期:

返回目录:电脑怎么了

今天我们分享的内容是按指定条件批量删除Excel工作簿,但在删之前,我们自然需要先知道相关文件夹内都有哪些工作簿?


对【常用小代码201】中的代码稍加修改,即可批量将工作簿的完整名称提取到当前工作表的A列。


代码如下:



Sub kjxgbooks()


Dim p$, f$, k&


With Application.FileDialog(msoFileDialogFolderPicker)


.AllowMultiSelect = False


If .Show Then p = .SelectedItems(1) Else: Exit Sub


End With


If Right(p, 1) <> "" Then p = p & ""


[a:b].ClearContents


k = 1


[a1] = "目录"


[b1] = "是否删除"


f = Dir(p & "*.xls*")


Do While f <> ""


k = k + 1


Cells(k, 1) = p & f


f = Dir


Loop


End Sub



使用以上代码可以将指定文件夹内的工作簿名称提取到表格的A列,如下图所示。


之后在表格的B列,咱们可以通过排序、筛选、以及函数等方式,灵活快捷的对A列的工作簿名称判断是否需要删除,如需删除,在B列标注为“删除”。


最后通过以下代码对判断的结果进行删除操作:



Sub Delbooks()


Dim r, i&


r = [a1].CurrentRegion '数据区域装入数组r


For i = 2 To UBound(r) '遍历数组r


If r(i, 2) = "删除" Then Kill r(i, 1)


'如果B列的值为删除,则杀死相关文件。


Next


End Sub



小贴士:


本文第二段代码通过Kill语句从磁盘删除文件,它的语法是


Kill pathname


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


Kill "D:看见星光*星光*.xls*"


星号(*)是通配符,可以代替零到多个字符。


细心的您也许会问,为什么是.xls*,而不是.xls?


在Kill眼中xls和xlsx以及xlsm是截然不同的,如果是.xls,则Kill语句只杀死后缀名为.xls的工作簿。


图文作者:看见星光


相关阅读

关键词不能为空
极力推荐

电脑蓝屏_电脑怎么了_win7问题_win10问题_设置问题_文件问题_上犹电脑信息网

关于我们