VBA范围删除脚本

我正在处理这个表格,我需要编写一个脚本来识别胡萝卜这个词,并且删除它上面的一行和它下面的7行,包括实际的行。

我尝试了多种方法,但由于某种原因,他们都失败了,所以我想我错过了一些小事。

Sub delete() startRow = 19 Set dataSheet = Sheets(1) endRow = dataSheet.UsedRange.Rows.Count Dim horse horse = Range(i - 1, i + 7) For i = startRow To endRow If (Cells(i, "A").Value) = "Entity:" Then Cells(horse, "A").EntireRow.delete End If Next i End Sub 

我也尝试过,去细胞(I – 1,A)..加一到七等不工作。 寻找提示?

用这个:

删除行或列时,最好向后循环。

你的horse线在循环之外,所以i没有任何价值。

您声明和分配工作表,但从不使用该variables。

声明所有variables也是一个好习惯。

 Sub delete() Dim startRow As Long, endRow As Long Dim i as Long startRow = 19 Set datasheet = Sheets(1) endRow = datasheet.UsedRange.Rows.Count With datasheet For i = endRow To startRow Step -1 If .Cells(i, "A").Value = "Entity:" Then .Rows(i - 1 & ":" & i + 7).delete End If Next i End With End Sub