当前位置: 首页 > 办公技巧 > 正文

excelvlog办公技巧(用VBA代码删除EXCEL行实例)

  • 叁碗诸角 叁碗诸角
  • 办公技巧
  • 2023-07-03 22:28:04
  • 0

工作中经常要删除EXCEL行或者列,要删除的数据量比较少的情况下,可以直接手动删除或者筛选后手动删除,要是数据量比较多的话就比较费手了,偷懒使人进步!下面通过删除EXCEL特定行来实例说明:

如图,要求删除每个仓差异都为0的数据,当数据量比较大,条件又比较复杂的情况下,手动就比较尴尬了.我们用两种VBA代码方法来实现:

方法一:

Sub 删除没有差异数据() Dim i, j As Integer Application.ScreenUpdating = False j = Range("A65536").End(xlUp).Row For i = j To 6 Step -1 If Range("H" & i) = 0 And Range("K" & i) = 0 And Range("N" & i) = 0 Then Range("H" & i).Select Selection.EntireRow.Delete Shift:=xlUp End If Next Application.ScreenUpdating = TrueEnd Sub

方法二:

Sub 删除没有差异数据数组方法() Dim arr, brr(), i, j, k, z k = Range("N65536").End(xlUp).Row arr = Range("A6:N" & k) ReDim brr(1 To UBound(arr, 1), 1 To UBound(arr, 2)) For i = 1 To UBound(arr) If arr(i, 8) <> 0 Or arr(i, 11) <> 0 Or arr(i, 14) <> 0 Then j = j 1 For z = 1 To 14 brr(j, z) = arr(i, z) Next End If Next Range("A6:N" & k).ClearContents Range("A6").Resize(j, 14) = brrEnd Sub

结果如下图:

第一种方法是平时比较常用的,但是效率比较低,要特别注意,最好倒着删行,这个大家可以想想为什么?然后在下面留言,

第二种方法要求VBA基础稍微好点,效率也比较高,也有要注意的地方,比如0开头的文本数字写入到单元格后的问题等.

因为没有什么流量,好久没有写头条了,希望有需要的朋友看过留言,也算有点意义.


最新文章