前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >问与答66: 如何不打开Excel文件删除行?

问与答66: 如何不打开Excel文件删除行?

作者头像
fanjy
发布2019-09-09 16:22:03
1.3K0
发布2019-09-09 16:22:03
举报
文章被收录于专栏:完美Excel完美Excel

Q:我有大约1000多个Excel文件(扩展名为xlsx),这些文件都只有1个工作表且具有相同的工作表结构,我想在不打开这些Excel文件的前提下删除其工作表的第1至3行,如何快速实现?

A:可以使用下面的VBA代码:

Sub DeleteRows()

'声明变量

Dim FilePath As String

Dim fFile As String

Dim fName As String

Dim WB As Workbook

'获取文件夹路径

FilePath = ActiveWorkbook.Path

fName = ActiveWorkbook.Name

'添加反斜杠

If Right$(FilePath, 1) <> "\" Then

FilePath = FilePath & "\"

End If

'获取文件

fFile = Dir(FilePath & "*.xlsx")

'遍历文件夹中的文件

Do While fFile <> ""

'忽略当前工作簿

If fFile <> fName Then

Set WB = Workbooks.Open(FilePath& fFile, UpdateLinks:=0)

ActiveWorkbook.Sheets(1).Rows("1:3").Delete Shift:=xlUp

Application.DisplayAlerts = False

ActiveWorkbook.Save

ActiveWorkbook.Close

End If

fFile = Dir

Loop

End Sub

在代码中,使用Dir函数来获取文件。只要不是代码所在的Excel工作簿文件,将打开该工作簿,执行删除第1至3行的操作,然后保存结果并关闭该工作簿。

注意,代码默认所要操作的工作簿与代码所在的工作簿在同一文件夹中。

虽然要求不打开Excel来删除行,但使用代码打开工作簿,执行操作,保存操作结果,然后关闭工作簿,让用户觉得根本没有打开过工作簿,这也是常用的技巧。

代码的图片版如下:
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-09-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档