打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
VBA 删除特定行、空行、0行、替换0为空

Sub 删除空行和结果()

Y = 1 '表示A列,可自行修改。
X1 = 1
X2 = Cells(65536, 1).End(xlUp).Row
NUM = 0
    For X = X1To X2
       Do While Cells(X, Y) = "结果" And X + NUM <= X2'结果是要删除的字符行
           Rows(X).Select
           Selection.Delete Shift:=xlUp
           NUM = NUM + 1
       Loop
    Next
    For X = X1 To X2
       Do While Cells(X, Y) = "" And X + NUM <= X2
           Rows(X).Select
           Selection.Delete Shift:=xlUp
           NUM = NUM + 1
       Loop
    Next
End Sub
-----------------------------------------------------------------------
Sub 删除A列空格()
Range("$A:$A").Cells.SpecialCells(xlCellTypeBlanks).Deleteshift:=xlUp '单列去空格
End Sub

---------------------------------------------------------------------
Sub 删除工作表内全部空行()

    DimUserSheet As Worksheet
    SetUserSheet = ActiveSheet

    DimTopRow As Long
    Dim LeftColAs Integer
    TopRow =ActiveWindow.ScrollRow
    LeftCol =ActiveWindow.ScrollColumn

    DimLastRow As Long, R As Long
    LastRow =ActiveSheet.UsedRange.Rows.Count + ActiveSheet.UsedRange.Row -1
   Application.ScreenUpdating = False
   
    For R =LastRow To 1 Step -1
       If WorksheetFunction.CountA(Rows(R)) = 0 Then
           Rows(R).Delete
       End If
    Next R

   UserSheet.Activate
   ActiveWindow.ScrollRow = TopRow
   ActiveWindow.ScrollColumn = LeftCol

End Sub

-----------------------------------------------------------------
说明,如何定位空值的方法
一些单元格其实不是真空。得用查找替换后再能用定位空值的办法。
先选择蓝色区域后按ctlr+F 在查找框中不要录入任何内容,在替换框中录入一个空格。点击全部替换。这个时候不要关闭查找与替换的对话框。在查找框中录入空格。把刚才替换框中的空格删除。也就是替换框中不要有任何内容。点击全部替换。这样就可以用定位空值的办法了。。

---------------------------------------------------------------------------
Sub 删除b列空行()
Dim X1 As Long
Dim X2 As Long
Dim Y As Integer
Application.ScreenUpdating = False
Y = 2 '表示b列,可自行修改。
X1 = 1
X2 = Cells(65536, 1).End(xlUp).Row
NUM = 0
    For X = X1 To X2
       Do While Cells(X, Y) = 0 And X + NUM <= X2
           Rows(X).Select
           Selection.Delete Shift:=xlUp
           NUM = NUM + 1
       Loop
    Next
   Application.ScreenUpdating = True
End Sub

-----------------------------------------
Sub 删除B列空行()
Range("b:b").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub

sub 删除B列为0的行()
Columns("B:B").Select
   Selection.AutoFilter Field:=1, Criteria1:=0
    Set rng =Range("b1:b" &[b65536].End(xlUp).Row).SpecialCells(xlCellTypeVisible)
   Selection.AutoFilter
   rng.EntireRow.Delete
end sub

-----------------------------------
Sub Delrow()
    Dimstr$
    Dim rng AsRange
    str = "Bet365(英国),Centrebet(澳大利亚),Coral(英国),Eurobet(英国),Expekt(英国),GWbet(奥地利)"'要保留的字符行
    For Each rngIn [B4:B218]  '范围
       If rng <> "" Then
          If InStr(str, Left(rng, Len(rng) - 1)) = 0 Then rng =""  '替换为空格
       End If
    Next
   [B4:B218].SpecialCells(4).EntireRow.Delete '删除所有空行
End Sub

--------------------------------------------------------------
Sub 替换除第一列外所有0为空()
     Range(Columns(2), Columns(256)).ReplaceWhat:="0",    Replacement:="", LookAt:=xlWhole,SearchOrder:=xlByRows,    MatchCase:=False, SearchFormat:=False, _
   ReplaceFormat:=False
End Sub

---------------------------------------------------------------
Sub aa() '删除A列是C的行
Range([a1], [a65536].End(3)).Replace "c", ""
Range([a1], [a65536].End(3)).SpecialCells(4).Delete (3)
End Sub

------------------------
Sub aa() '删除A列的空格和0值行
Range("a1:a6").Replace "0", "", lookat:=xlWhole
Range("a1:a6").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
VBA如何快速查找一个区域的右下角的那个单元格? 4种方法的比较
字典法筛选考语文的学生成绩 | VBA实例教程
Excel之VBA常用功能应用篇:获取有数据单元格最后一行
录制宏得代码--高级筛选
VBA常用代码解析(第五十六讲)
excle vba多工作簿合一、某列留汉字、插入列等代码
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服