【问题标题】:My macro only delete excel data not rows.I want delete rows as well我的宏只删除excel数据而不是行。我也想删除行
【发布时间】:2020-05-04 02:22:45
【问题描述】:

我有一个宏。在这种情况下,它只删除数据而不是行。例如我在宏之后有 600 000 条记录,它留下了 15 000 条记录,但我的 excel 表显示 600 000 条记录 - 15 000 条记录有数据,其余为空,但我希望它只显示 15 000 条记录。

应删除所有空行。

宏:

Sub DeleteRecord()
Dim MySheet As String
Dim cnt As Long
MySheet = ActiveSheet.Name
Cells(1, 1).CurrentRegion.AutoFilter Field:=33, Criteria1:= _
    ">=-.09", Operator:=xlAnd, Criteria2:="<=.01"
cnt = Worksheets(MySheet).Cells.SpecialCells(xlCellTypeLastCell).Row
If cnt > 3 Then Range("A2", ActiveCell.SpecialCells(xlLastCell)).Delete
Cells(1, 1).CurrentRegion.AutoFilter Field:=33
End Sub

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    你可以试试下面的代码。删除所有选定的行。

      Sub DeleteRecord()
            Dim MySheet As String
            Dim cnt As Long
            MySheet = ActiveSheet.Name
            Cells(1, 1).CurrentRegion.AutoFilter Field:=33, Criteria1:= _
                ">=-.09", Operator:=xlAnd, Criteria2:="<=.01"
    
    
            cnt = Worksheets(MySheet).Cells.SpecialCells(xlCellTypeLastCell).Row
            If cnt > 3 Then Range("A2", ActiveCell.SpecialCells(xlLastCell)).Select
            Selection.EntireRow.Delete
            End If
            Cells(1, 1).CurrentRegion.AutoFilter Field:=33
        End Sub
    

    【讨论】:

    • 感谢回复,它删除了记录,空记录仍然存在。它仍然显示 15000 条有数据的记录和 60 万条没有数据的记录。这对我也不起作用
    • 没有数据的 60 万条记录是什么意思?空白单元格的存在如何影响您的输出?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多