EXCEL批量删除空行的VBA怎么写

 我来答
枯藤秋
2017-08-24 · TA获得超过348个赞
知道小有建树答主
回答量:551
采纳率:84%
帮助的人:106万
展开全部
方法是:选择包含需要删除的数据区域,比如A2:D10,然后按F5键,打开“定位”对话框,单击“定位条件”,打开“定位条件”对话框,选择“空值”,可以批量选择空行,然后单击右键,选择删除即可。

excel批量删除空行方法二:
我们可以在旁边的空白列输入1,然后下拉,作为辅助列。然后开启“筛选”,筛选“空白”,在筛选状态删除这些空白行,最后关闭筛选。
excel批量删除空行方法三:
如果工作表中有大量的空行,可以使用VBA代码实现。方法是:按ALT+F11,打开VBE编辑器,插入——模块,复制下面的代码,然后按F5键运行。
Sub 批量删除空行()
Dim LastRow As Long
Dim r As Long
LastRow = ActiveSheet.UsedRange.Row - 1 + ActiveSheet.UsedRange.Rows.Count
Application.ScreenUpdating = False
For r = LastRow To 1 Step -1
If Application.WorksheetFunction.CountA(Rows(r)) = 0 Then Rows(r).Delete
Next r
Application.ScreenUpdating = True
End Sub
shushanhuihai
2020-05-08
知道答主
回答量:2
采纳率:0%
帮助的人:1211
展开全部
万能代码:

Sub 删除所有空行和空列()
For Each Sheet In Sheets
Sheet.Select
Sheet.UsedRange.UnMerge

Call DeleteEmptyRows
Call DeleteEmptyColumns
Rows.AutoFit
Columns.AutoFit

Next
End Sub

Sub DeleteEmptyRows()
Dim LastRow As Long
Dim r As Long
LastRow = ActiveSheet.UsedRange.Row - 1 + ActiveSheet.UsedRange.Rows.Count
Application.ScreenUpdating = False
For r = LastRow To 1 Step -1
If Application.WorksheetFunction.CountA(Rows(r)) = 0 _
Then Rows(r).Delete
Next r
Application.ScreenUpdating = True
End Sub

Sub DeleteEmptyColumns()
Dim LastColumn As Long
Dim r As Long
LastColumn = ActiveSheet.UsedRange.Column - 1 + ActiveSheet.UsedRange.Columns.Count
Application.ScreenUpdating = False
For r = LastColumn To 1 Step -1
If Application.WorksheetFunction.CountA(Columns(r)) = 0 _
Then Columns(r).Delete
Next r
Application.ScreenUpdating = True
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式