我想在一个范围内的每个单元格中使用值,在一个电子表格中搜索另一个电子表格中的该值单元格。
但是,如果遇到与单元格“I3”匹配的值的单元格,那么我希望宏跳过它并继续到下一个单元格。
Dim rng As Range, cell As Variant
Sheets("Main").Select
Set rng = Range("D3:D5")
For Each cell In rng
If cell = Range("I3") Then Stop
Else
Sheets("Filtered").Select
Cells.Find(What:=cell, After:=ActiveCell).Activate
ActiveCell.EntireRow.Select
Selection.Delete Shift:=xlUp
Next cell
End Sub
答案 0 :(得分:0)
问题在于行
If cell = Range("I3") Then Stop
是一个正确的单行if语句,后面有一个空行,所以
Else
成为新的声明。
您应该根据多行语法更改代码:
If condition [ Then ]
[ statements ]
[ ElseIf elseifcondition [ Then ]
[ elseifstatements ] ]
[ Else
[ elsestatements ] ]
End If
我的意思是,将“停止”放在下一行,并在“Else”块之后添加“End If”。
有关更多语法详细信息,请参阅https://msdn.microsoft.com/ru-ru/library/752y8abs.aspx?f=255&MSPPError=-2147217396。