有没有一种快速的方法可以删除跨列和跨行的多个单元格中的 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