因此,第 1 列由各种名称组成,如果该列中特定单元格中的名称不属于名称子集,我想删除整行。我尝试使用嵌套的 If 和 For 来遍历行,但事实证明按升序删除行不起作用。
现在,我希望 for 循环从最终值开始到初始值,并且我在最后使用了“Step -1”,如下所示
For Each a In Range("F2:F244") Step-1
但我得到了
编译错误:语句结束
我究竟做错了什么?或者还有其他方法可以删除行吗?
编辑:根据@Skin的建议,以下是更新的代码。但现在错误显示
运行时错误“1004”:无法设置范围类的删除属性
Sub deleteaccount()
Dim x As Range, l As Long
Set x = Range("E2:E244")
For l = x.SpecialCells(xlCellTypeLastCell).Row To x.Cells(1, 1).Row Step -1
If Left(Cells(l, 5), 4) = "DARL" Then
Cells(l, 6).Value = "darling"
ElseIf Left(Cells(l, 5), 4) = "GIRI" Then
Cells(l, 6).Value = "girias"
ElseIf Left(Cells(l, 5), 4) = "S.C." Then
Cells(l, 6).Value = "sc shah"
ElseIf Left(Cells(l, 5), 4) = "SHAR" Then
Cells(l, 6).Value = "sharpatronics"
ElseIf Left(Cells(l, 5), 4) = "VASA" Then
Cells(l, 6).Value = "vasanth"
ElseIf Left(Cells(l, 5), 4) = "VIVE" Then
Cells(l, 6).Value = "viveks"
Else
Cells(l, 6).EntireRow.Delete = True
End If
Next l
End Sub