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

时间:2023-10-26 21:57:53 

在exce中删除空行和空列的方法有很多,相对而言删除空行较为简单,只需进行筛选,将空白行筛选出来,删除即可,但要删除空列比较困难。因为你不能按列进行筛选删除。

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

标签:Excel,行,列,VBA
0
投稿

猜你喜欢

  • 必应输入法怎么卸载电脑版?卸载必应输入法方法

    2022-12-09 20:16:08
  • 如何将wps表格中的数字转为中文

    2023-06-13 04:24:38
  • win10声音无法找到输出设备没有扬声器的五种解决方法

    2022-02-16 03:15:21
  • 2019imac一体机开箱体验,iMac2019内存是什么牌子,怎样换内存?

    2022-03-28 14:12:56
  • Win10 的IE浏览器在哪里?

    2023-06-01 07:16:56
  • iOS 15 新功能:健康共享,可远程监测他人健康

    2022-03-24 01:30:32
  • 天府通app怎么充值次数 天府通APP中充值次数的方法

    2022-02-03 14:40:17
  • Mac电脑中如何设置文稿关闭时弹出保存更改的提示?

    2023-01-03 07:48:35
  • Vista系统中如何关闭ClearType功能

    2022-10-30 20:09:17
  • 电脑无法运行Excel提示不是有效Win32应用程序的解决方法

    2022-12-02 20:27:39
  • excel表格如何使用COMBIN函数

    2022-06-03 09:59:47
  • wps复制的文字有一层灰底怎么删除?

    2022-11-23 15:37:25
  • Win10投影不显示桌面图标怎么办?Win10投影不显示桌面图标的解决方法

    2023-08-03 00:23:40
  • 如何用公式解决Excel2016校验难题

    2023-05-28 15:08:48
  • WPS文字教程如何在页眉添加横线

    2022-11-23 21:36:38
  • Win7本地连接没有了如何找回?

    2022-02-12 07:23:58
  • 电脑怎么做表格步骤

    2023-04-13 13:37:00
  • Win10如何设置IE浏览器关联的文件类型

    2023-11-06 22:15:43
  • 关闭win7系统错误弹窗的方法教程

    2022-11-11 14:48:52
  • Win10蓝屏终止代码video_tdr_failure解决方法

    2022-09-14 15:44:16
  • asp之家 电脑教程 m.aspxhome.com