我正在尝试删除所有单元格值不等于数组 Ar() 中的值之一的行。当我把逻辑运算符 NOT 循环由于某种原因无限期(excel 冻结)。相反,它可以完美地工作,以防我想从数组中删除包含值的行。
问题在线:
If Not .Cells(i, 10).Value = Ar(j) Then
我的代码:
Sub Tims()
Dim LastRow As Long, LR As Long
Dim i As Long, j As Long
Dim t As Integer
Dim Ar() As String
Worksheets("Start").Activate
t = Count("a", Range("A3:A14"))
LR = Range("I3:I10").End(xlDown).Row
Worksheets("Master").Activate
Sheets("Master").Range("A100:A" & 100 + LR - 3).Value = Sheets("start").Range("I3:I" & LR).Value
With Worksheets("Master")
For j = 1 To LR - 2
ReDim Preserve Ar(j)
Ar(j) = Cells(99 + j, 1)
Next j
End With
With Worksheets("Master")
LastRow = .Cells(.Rows.Count, "B").End(xlUp).Row
End With
Worksheets("Master").Activate
For j = 1 To LR - 2
For i = 1 To LastRow
With Worksheets("Master")
If Not .Cells(i, 10).Value = Ar(j) Then
.Cells(i, 10).EntireRow.Delete
i = i - 1
End If
End With
Next i
Next j
End Sub