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

时间: 2024-10-31 18:36:16

Excel中用VBA实现删除空行和空列的相关文章

《数据分析实战:基于EXCEL和SPSS系列工具的实践》一3.3.1 重复、空行、空列数据删除

3.3.1 重复.空行.空列数据删除 以案例文件3.1为例,如何对数据进行重复值的排查呢?可综合运用三种方法进行删除,其中,EXCEL提供了两种方法,不过都是直接删除,而SPSS中的重复值处理可以先标识然后再删除,相对更合理一点.下面分别讲讲这三种方法.(1)EXCEL中的"删除重复项"首先,选择"数据"中的"删除重复项",如图3-2所示. 然后选择判断是否重复的项,如图3-3所示. 请注意,图3-3中的"编号"."

EditPlus删除空行、空段落的正则表达式

遇到一个比较大的文本文件需要去除空行,首先想到的自然是正则表达式.偷懒去网上找了几个删除空行的正则表达式,填到EditPlus里居然都不能用...而且大多数的正则表达式都用到了"\r",也就是回车符,关于"\n"和"\r"的区别我以后再写,今天只是为了记录一个正则表达式. ^[ \t]*\n 解释一下: 1.^表示一行的开头.空行嘛,肯定在一行的开头就是空的... 2.[ \t],"\t"前面还有一个空格.[]表示范围中的字符

如何在EXCEL中用VBA实现自动提交表单?

问题描述 我有很多不同的网页地址存放在EXCEL表格中,实际上每个网页界面一样只是里面的内容不一样,这样网页的共同点是都有一个SAVE&NewTASK的按钮,HTML代码描述如下:<INPUTclass=btntitle="Save&NewTask"tabIndex=16type=submitvalue="Save&NewTask"name=savenewtask>我想实现用EXCEL的VBA来编程打开每个网页之后自动触发这个SA

Excel中用F2巧妙删除错误字符

按照大多数人的输入习惯,在输错了文字后很有可能直接用方向键把光标移到错误的字符旁边,再用BackSpace或Del键删除它们.但在Excel中输入了错误的数据,这种方法就不太方便了.因为在Excel中输入数据时一按方向键就会把输入框移到其它的单元格,比如输入了"123",光标停留在"3"的后面,想用方向键直接把光标移到"1"的前面就做不到. 尽管可以用鼠标双击单元格来定位光标的位置,但是在输入大量数据的情况下,因为出现这样的小问题而来回点击鼠标会

Excel怎么删除空行

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

【省纸教程】删除空行 紧凑排版

从网上下载的文本,往往存在空行,这样既不美观,打印又浪费纸张.下面介绍两种册除空行的方法: 方法一:使用"替换"功能,删除空行. 1.打开需整理文档. 2.选择"编辑|替换"菜单项(或按下[Ctrl]+H组合键),打开"查找和替换"对话框. 3.在"查找内容"右侧框内输入两个段落标记:^p^p,在"替换为"右侧框内输入一个段落标记:^p.见下图. 4.单击"全部替换"按钮.这时文档中的空

Notepad++怎么删除空行

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

excel表格中怎么删除看不见的空格或符号?

  excel表格中怎么删除看不见的空格或符号?          方法一:各种处理方法对空格和不可见符号的处理能力对比 1.对比如图 方法二:用LEN函数判断看不见的空格和符号是否被删除. 1.用LEN函数计算单元格字符个数 因为是看不见的空格或者符号,我们无法用肉眼来判断是否删除成功,这时我们需要用LEN函数来辅助判断.比如在空白单元格B2中输入"=LEN(A2)",就能计算出A2单元格中字符的个数.用LEN函数计算处理前和处理后的单元格字符个数,就能判断出是否删除成功了. 方法三

Excel中用函数向导输入函数动画教程

<Excel2003入门动画教程51.Excel中用函数向导输入函数>. 演示动画 操作步骤 如果大家对Excel函数不是非常熟悉,建议大家采用Excel函数向导来输入函数计算式. 选中相应的单元格,执行"插入→函数"命令,打开"插入函数"对话框,选中相应的函数类别(如"统计"),然后再进一步双击选中的函数名称,打开"函数参数"对话框,通过拖拉或输入的方式,输入函数参数,输入完成后,确定返回,计算结果正确显示出来.