【发布时间】:2020-12-25 21:41:59
【问题描述】:
目前我正在使用此代码自下而上删除行:
Sub Deleterows()
With Sheet8
.Rows(9).EntireRow.Delete
.Rows(5).EntireRow.Delete
.Rows(1).EntireRow.Delete
End With
End Sub
我有很多行要删除。需要删除的总是相同的行。
我想知道是否有更好的方法来删除我的 50 条特定行而不用写 .Rows(x).EntireRow.Delete 50 次。
例如if row number in [9,5,1] then delete。这也更容易添加一个行号而不重复一行。
这是数据提取的几行。请注意,它已被转置。
【问题讨论】:
-
你不能在要删除的行中找到一个标准来避免写他们的数字吗?以这种方式您将获得很少的进展...您是否一直需要删除相同的行号?
-
如果你录制一个宏,你会注意到代码是
Range("9:9,5:5,1:1").Delete。顺便说一句,我同意 Fane 的观点。如果有标准,那么也许使用 Autofitler 来识别行然后删除它们? -
这篇文章可能会给你一些想法Delete rows...
-
这里有两个链接可以帮助你实现你想要的。 Using Autofilter 和 Using Union
-
数据已被转置,因此所有旧的列标题现在都在 A 列中,数据在列 (B:AE) 中。我可以在 A 列上应用过滤器并勾选/取消勾选我的字段,但这与删除特定行没有什么不同?
标签: excel vba set rows delete-row