推广 热搜: 百度  搜索引擎  企业  可以  选择  使用  page  机械设备  参数  上海 

excel根据a列提取b列内容_按条件批量删除Excel工作簿

   日期:2024-12-30     作者:d5es7    caijiyuan  
核心提示:今天我们分享的内容是按指定条件批量删除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的工作簿。

本文地址:http://ww.kub2b.com/tnews/3569.html     企库往 http://ww.kub2b.com/ ,  查看更多

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。

 
 
更多>同类生活信息

文章列表
相关文章
最新动态
推荐图文
生活信息
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号