在列中的2个值之间添加多行

我有3000多行数据。 我想find哪里细胞(x)= A和下一个细胞= B,然后之间添加5个空行。

30.5 30.5 30.5 32.5 32.5 32.5 32.5 42.5 

我有下面的代码几乎可以工作,但在行下面留下一个“32.5s”

 Sub AddRow() Dim Col As Variant Dim BlankRows As Long Dim LastRow As Long Dim R As Long Dim StartRow As Long Col = "K" StartRow = 2 BlankRows = 1 LastRow = Cells(Rows.Count, Col).End(xlUp).Row Application.ScreenUpdating = False With ActiveSheet For R = LastRow To StartRow + 1 Step -1 If .Cells(R, Col) = 32.5 And .Cells(R, Col).Offset(1, 0) = 42.5 Then .Cells(R, Col).EntireRow.Insert Shift:=xlUp .Cells(R, Col).EntireRow.Insert Shift:=xlUp .Cells(R, Col).EntireRow.Insert Shift:=xlUp .Cells(R, Col).EntireRow.Insert Shift:=xlUp .Cells(R, Col).EntireRow.Insert Shift:=xlUp End If Next R End With Application.ScreenUpdating = True End Sub 

差不多了。 快速修复:以这种方式进行插入:

 .Cells(R + 1, Col).EntireRow.Insert Shift:=xlUp ' <-- R+1 

这就是说,尝试重构你的代码,即做一些小循环中的插入,更重要的是, 限定你的范围。 With子句可以帮助你。