手机版

使用VBA删除Excel中的空行和空列

时间:2021-11-25 来源:互联网 编辑:宝哥软件园 浏览:

在exce中有很多方法可以删除空行和空列。相对来说,删除空行比较简单,只要过滤掉删除就可以了,但是删除空列就比较难了。因为不能按列筛选和删除。Excel没有这个。

功能。当然,您可以使用另一种方法,即按列排序,将空白列一起排序,然后删除它们。但是这种方法面临着列的顺序被打乱的问题,吃力不讨好。本文将使用Excel中强大的VBA函数来完成删除。

划分空白行和空白列的方法。

第一步,打开excel,按ALT F11建立并调出VBA程序窗口。

步骤2:在“插入”菜单中,选择一个模块并插入一个模块。

第三步,在新建模块的代码窗口中复制以下代码

删除空行

sub DeleteEmptyRows()Dim last row As Long,r As LongLastRow=ActiveSheet。使用范围。行数。计数最后一行=最后一行活动工作表。已用范围。第1行

R=lastrow到1step-1if工作表函数. counta(row(r))=0 then row(r)。' delete next rendsub '删除空列。

sub DeleteEmptyColumns()Dim last column As Long,c As LongLastColumn=ActiveSheet。used range . columns . countlastcolumn=last column active sheet。c=最后一列到第1步-1如果工作正常。CountA(列(c))=0,然后列(c)。删除下一个cEnd接头

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

第四步,保持第三步的excel文件打开,打开需要处理的excel文件,执行上面两个宏。

用VBA删除空白行列作者:未知文章来源:未知点击量:3063更新时间:2009年1月13日:16:32336010在Excel中删除空白行列的方法有很多。下面的方法是用VBA代码删除工作表指定区域中的空白行和空白列:

option explicit sub Delete _ Empty _ Rows()Dim r area As Range Dim in last row As Long,i As Long,j As Long Application。屏幕更新=假最后一行=选择。行数。如果适用,将区域=选择j=0的i=最后一行设置为1步骤-1。CountA(rnArea。行(i))=0,然后是区域。行(I)。删除j=j 1如果下一个I区域结束。调整大小(lnLastRow - j)。选择应用程序。ScreenUpdating=true end subsubsub Delete _ Empty _ Columns()Dim lnlast column As Long,i As Long,j As Long Dim rnArea As Range应用程序。屏幕更新=假最后一列=选择。列。计数设置rnArea=选择j=0对于i=lnLastCol umn为1步骤-1如果应用。CountA(rnArea。第(I)列=0,然后是rnArea。第栏。删除j=j 1如果下一个I区域结束。调整大小(,lnLastColumn - j)。选择应用程序。屏幕更新=假结束子

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

空行,但不是指定区域外的空行,那么这些空行仍然会被删除。删除空列以运行删除空列()。

版权声明:使用VBA删除Excel中的空行和空列是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。