Excel中用VBA实现删除空行和空列

在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删除空行和空列

作者:未知 文章来源:未知 点击数:3063 更新时间:2009-1-13 16:32:10

在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()。

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

09/18 13:48
在exce中删除空行和空列的方法有很多,相对而言删除空行较为简单,只需进行筛选,将空白行筛选出来,删除即可,但要删除空列比较困难。因为你不能按列进行筛选删除。Excel中没有这个功能。当然你可以用另外一种方法,就是按列进行排序将空白列排序在一起,然后删除,但这种方法面临着列的顺序被打乱的问题,吃力不讨好。本文将利用Excel中强大VBA功能来完成。 删除空白行和列的方法: 步骤一、打开excel,按ALT+F11组合建,调出VBA程序窗口 步骤二、在插入菜单中,选择模块,插入一个模块 步骤三、在

excel中用vba删除某行的代码是什么

07/25 13:10
给你完整代码把: 1 2 3 4 5 6 7 sub aa() for i=range("C65536").end(xlup).row to 1 step -1 if cells(i,3)= 0 then rows(i).delete end if next end sub

Excel表格中怎么快速删除空行

12/26 04:06
excel是一款电子表格软件,它拥有直观的外形.优异的计算功能.然而,仍然有不少用户对于一些操作不太熟悉,他们问道:怎样才能快速去除空行?小编今天给大家分享解决这个问题的方法.具体如下:1. 首先,我们在电脑里找到"Excel"图标,点击进入主界面,然后打开目标表格文件.2. 第二步,接下来我们选择图中箭头处的"定位功能"按钮,我们还可以直接使用快捷键Ctrl G键.3. 第三步,请点击点击新界面中的"空值"这一项,然后选择其中的"定位

excel表格怎么删除空行呢?

12/05 23:46
在用excel表格的时候,我们会遇到很多问题,比如有时候把下面的数据删除了,但是选择把下面的数据上移,我们的数据就不准确了,怎么才能安全的删除一些不需要的空格呢,下面就为大家介绍一下删除方法,来看看吧. 步骤 1.我们找到自己电脑上原有表格数据,然后点击打开,或者在没有表格的情况下,就右击电脑新建,选择新建一个数据表格. 2.然后新建立数据表格后,接下来当然这里我们要做的事情就是打开该新建的新表格. 3.因为在没有数据的情况下,打开的表格肯定是空的,但是如果有数据的情况下,打开的表格里面直接有数

Excel怎么删除空行

02/11 10:21
在Excel中,为了美观,想将工作表的空行删除.可以根据以下方式,把表中的空行删除. 1.选中要删除空行工作表的任意单元格,然后选择"插入"→"列",这时在选中的单元格左边会插入一列.比如新插入的为F列,在F列中输入整数. 2.根据表中的随意一列,把表中的行排序,让全部空行都在表底部,然后把所有空行中的F列数据,为F列重新排序,然后再删除F列即可.

怎样使用VBA批量删除word中空行

05/20 19:10
在网上复制文本时,很多不必要的空格空行也跟着材料一起被复制粘贴保存了下来,版面就不怎么好看了.而且,材料多时,几十上百页的,要是手动删除,那工程量可够浩大的,有没有什么办法快速批量删除呢?很多人都会使用替换的方式来删除空行,今天小编就带大家学习一下使用VBA来解决这个问题 用Word打开含空行的文章,依次单击"工具" →"宏" →"Visual Basic编辑器",打开Visual Basic编辑器.双击"Project"下的

[省纸教程]删除空行 紧凑排版

05/12 14:26
从网上下载的文本,往往存在空行,这样既不美观,打印又浪费纸张。下面介绍两种册除空行的方法: 方法一:使用“替换”功能,删除空行。 1、打开需整理文档。 2、选择“编辑|替换”菜单项(或按下【Ctrl】+H组合键),打开“查找和替换”对话框。 3、在“查找内容”右侧框内输入两个段落标记:^p^p,在“替换为”右侧框内输入一个段落标记:^p。见下图。 4、单击“全部替换”按钮。这时文档中的空行就没有了。 注:段落标记也可以这样输入:打开“查找和替换”对话框,单击“高级(M

Notepad++怎么删除空行

11/23 22:05
  Notepad++怎么删除空行 第一种方法:不需要使用正则表达式,使用系统自带的功能即可实现 第二种方法:通过正则表达式 1.\r\n转义符替换 按ctrl+h,跳出搜索替换框,把查找模式定义为扩展(\n,\r-) 查找目标:\r\n\r\n 替换为:\r\n 或者 选择替换,把查找模式设置为正则表达式,在查找框中输入 ^\s+ ,替换框留空,点"全部替换",即可(先全选). 查找目标:^\s+ 替换为:留空 第三种方法:下载安装插件 TextFX 先下载安装插件 TextFX,下

excel2010自动筛选功能快速删除空行方法介绍

02/29 12:44
有时为了删除Excel工作表中的空行,我们可能会将空行一一找出然后删除,如何工作表行数特别多,空行也多,这样操作费时又费力,非常不方便.那么在excel2007中如何快速删除空行呢?我们可以利用自动筛选功能来实现.下面就为大家介绍一下,来看看吧! 方法/步骤 用excel2007打开一工作表 全选工作表 点击“数据”菜单,在“排序和筛选”组中点击“筛选” 在每一列的顶部,从下拉列表中取消勾选“空白” 点击“确定”,所有空行均删除 以上就是excel2010自动筛选功能快速删除空行方法介绍,操作很