如何删除 Excel 中多行和多列中的重复零?

如何删除 Excel 中多行和多列中的重复零?

有没有一种快速的方法可以删除跨列和跨行的多个单元格中的 0?我不仅想删除 0,还想在删除 0 后将值上移。

我在下面添加了示例数据。大约有 100 行和 100 列。

Column 1 Column 2 Column 3
0        data3    0
data1    0        data5      
data2    data4    0

拆除后的理想状态应该是:

Column 1 Column 2 Column 3
data1    data3    data 5
data2    data4            

我需要清理数据,以便将其用于比较。我目前想到的方法就是在进行比较时添加 IF 语句来忽略 0。

答案1

尝试这个简短的宏:

Sub newbie()
    Dim r As Range
    Dim nLastColumn As Long
    Dim nFirstColumn As Long
    Dim N As Long, i As Long, j As Long

    ActiveSheet.UsedRange
    Set r = ActiveSheet.UsedRange

    nLastColumn = r.Columns.Count + r.Column - 1
    nFirstColumn = r.Column

    For i = nFirstColumn To nLastColumn
        N = Cells(Rows.Count, i).End(xlUp).Row
        For j = N To 1 Step -1
            If Cells(j, i).Value = 0 Then
                Cells(j, i).Delete Shift:=xlUp
            End If
        Next j
    Next i
End Sub

相关内容