在Excel中用如何使用VBA实现删除空行和空列

所属分类: 软件教程 / 办公软件 阅读数: 673
收藏 0 赞 0 分享

在exce中删除空行和空列的方法有很多,相对而言删除空行较为简单,只需进行筛选,将空白行筛选出来,删除即可,但要删除空列比较困难。因为你不能按列进行筛选删除。Excel中没有这个功能。当然你可以用另外一种方法,就是按列进行排序将空白列排序在一起,然后删除,但这种方法面临着列的顺序被打乱的问题,吃力不讨好。本文将利用Excel中强大VBA功能来完成。

删除空白行和列的方法:

步骤一、打开excel,按ALT+F11组合建,调出VBA程序窗口

步骤二、在插入菜单中,选择模块,插入一个模块

步骤三、在新建模块中的代码窗口将以下代码复制进去

‘删除空行

Sub DeleteEmptyRows()
Dim LastRow As Long, r As Long
LastRow = ActiveSheet.UsedRange.Rows.Count
LastRow = LastRow + ActiveSheet.UsedRange.Row -1

For r = LastRow To 1 Step -1
If WorksheetFunction.CountA(Rows(r)) = 0 Then Rows(r).Delete
Next r
End Sub
’删除空列

Sub DeleteEmptyColumns()
Dim LastColumn As Long, c As Long
LastColumn = ActiveSheet.UsedRange.Columns.Count
LastColumn = LastColumn + ActiveSheet.UsedRange.Column
For c = LastColumn To 1 Step -1
If WorksheetFunction.CountA(Columns(c)) = 0 Then Columns(c).Delete
Next c
End Sub

完成后关闭VBA窗口,选择保存,并保存Excel文件。

步骤四、保持步骤三中的excel文件处于打开状态,打开需要处理excel文件,执行上述两个宏即可。


用VBA删除空行和空列 
        
    在Excel中删除空行和空列的方法有很多,下面的方法是用VBA代码来删除工作表指定区域中的空行和空列:

Option Explicit
 
Sub Delete_Empty_Rows()
   Dim rnArea As Range
   Dim lnLastRow As Long, i As Long, j As Long
 
   Application.ScreenUpdating = False
   lnLastRow = Selection.Rows.Count
   Set rnArea = Selection
 
   j = 0
 
   For i = lnLastRow To 1 Step -1
      If Application.CountA(rnArea.Rows(i)) = 0 Then
         rnArea.Rows(i).Delete
         j = j + 1
      End If
   Next i
 
   rnArea.Resize(lnLastRow - j).Select
 
   Application.ScreenUpdating = True
End Sub
 
Sub Delete_Empty_Columns()
   Dim lnLastColumn As Long, i As Long, j As Long
   Dim rnArea As Range
 
   Application.ScreenUpdating = False
   lnLastColumn = Selection.Columns.Count
   Set rnArea = Selection
 
   j = 0
 
   For i = lnLastColumn To 1 Step -1
      If Application.CountA(rnArea.Columns(i)) = 0 Then
         rnArea.Columns(i).Delete
         j = j + 1
      End If
   Next i
 
   rnArea.Resize(, lnLastColumn - j).Select
 
   Application.ScreenUpdating = False
End Sub

    在运行代码前,先选择需要删除空行和空列的区域。如果要删除空行,则运行Delete_Empty_Rows(),指定区域中的空行将被删除。注意所谓空行是在指定区域中的,如果在指定区域内是

空行,而在指定区域外不是空行,那么这些空行还是将会被删除。删除空列则运行Delete_Empty_Columns()。

更多精彩内容其他人还在看

如何在word文档中将页眉上横线删除

如何在word文档中将页眉上横线删除?很多朋友都不是很清楚,其实方法很简单的,下面小编就为大家介绍一下,一起来看看吧
收藏 0 赞 0 分享

使用捷速PDF编辑器修改pdf文档教程

要想修改pdf文档,但是不知道怎么修改,首先用户需要在电脑上下载安装捷速PDF编辑器,安装的过程非常简,之后按照下文操作即可
收藏 0 赞 0 分享

六亿宝贝反黄软件如何卸载(传统方法不行)

如何卸载,是安装了六亿宝贝反黄软件的用户最爱搜索的问题,传统的卸载方法不管用呀,还好想到了这个方法,下面以图文的形式为大家详细介绍下
收藏 0 赞 0 分享

Word2003版本保存怎么用?

Word版本保存怎么用?他可以打开其他协同者所保存的版本来查看该协同者完成对文档编辑之后的状态,还可根据各版本保存时间的先后来依次打开各版本,从而比对某一协同者编辑文旦前、后的状态变化
收藏 0 赞 0 分享

word字体显示一半怎么办?

word字体显示一半怎么办?现在大家都是无纸办公化,尤其使用word、excell比较多,但是我们在使用过程中总是碰到一些问题,比方我们在打字的时候,总是出现显示一半的情况,下面分享解决办法,需要的朋友可以参考下
收藏 0 赞 0 分享

PDF文件怎么提取页面到另一个PDF文件中?

PDF文件怎么提取页面到另一个PDF文件中?很多学习资料都是PDF格式的,有时自己证件扫描也会存进PDF文件,但是其中某些页的内容自己想分离出来,存进一个新的PDF中 ,网上方法还要下软件,下面分享一个简单的技巧,感兴趣的可以进来参考一下
收藏 0 赞 0 分享

ppt怎么设置动画窗格声音视频?

ppt怎么设置动画窗格声音视频?office ppt 的动画功能很轻大,尤其是配合视频,和音频后。下面以 office 2010为例告诉这些简单的操作如何设置。如何防止,需要的朋友可以参考下
收藏 0 赞 0 分享

word怎么设置才能尽可能的减少打印页面?

word怎么设置才能尽可能的减少打印页数?要打印的word文档有很多页,即使双面打印也要浪费很多纸张,该怎办呢?下面分享一种设置方法可以减少word打印页面,感兴趣的可以进来参考一下
收藏 0 赞 0 分享

ppt文档设置成单击时却还会自动启动的解决办法

ppt为何设置成单击时却还会自动启动?office办公软件虽然看来简单,但是功能太细太复杂了。比如说PPT里动画窗格明明设置成了“单击时”启动,然而播放的时候却变成自动的了,下面分享解决办法,需要的朋友可以参考下
收藏 0 赞 0 分享

WPS 无法启动无法启动打印作业该怎么解决?

WPS 无法启动无法启动打印作业该怎么解决?在局域网内连接打印机启动打印作业时会出现一些小状况,例如偶尔会出现“WPS office 无法启动打印作业……”的问题,下面分享解决办法
收藏 0 赞 0 分享
查看更多