在当前行下复制find的结果

所以我有一个16列的工作表。 我想找出字体颜色的单元格是vbRed。 比方说,范围(“A5”)是find的单元格,然后我想复制并粘贴整个行到当前工作表的下一行。

在我写macros时,我发现我的程序将在我复制和粘贴的行上循环。 而且我也不确定我是否可以使用循环,复制和粘贴find方法。 如果有人能帮到这个,我会很感激。

用我现在的代码:

Sub CopyRow() Dim Row As Long Row = ActiveSheet.Range("A1", ActiveSheet.Range("A1").End(xlDown)).Rows.Count Sheets("Sheet1").Activate Dim rng As Range Set rng = Range("A1:A" & Row) For Each cel In rng If cel.Font.Color = vbRed Then cel.Rows.EntireRow.Insert Shift:=xlDown cel.EntireRow.Copy cel.Offset(-1).EntireRow cel.Offset(1, 0).Select End If Next cel End Sub 

有无限循环….

要select列中的第一个单元格为空:

 Range("YOUR COLUMN" & Rows.Count).End(xlUp).Offset(1).Select 

如果您的列A总是被填满,您可以将macros基于它,然后粘贴您复制的整个行。

 Dim SrchRngA as range Set SrchRngA = Range("a16:a500") For Each cel In SrchRngA If InStr(1, cel.Value, "AB") > 0 Then 'search for "AB" cel.offset(1,0).value = cel.value 'replace next row with current cell value end if next cel