用VBA代码删除EXCEL行实例
发布日期:2024-07-22 10:06 点击次数:169工作中经常要删除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开头的文本数字写入到单元格后的问题等.
因为没有什么流量,好久没有写头条了,希望有需要的朋友看过留言,也算有点意义.
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报。