满意答案
追问: 错了是a列中有数据=20如果有多个全部插入
追答:代码考虑了等于20的单元格可能在要复制的行的前面行或者后面行。
Sub MyFunction()
Dim I As Long, N As Long,R As Long
R = 16 '要复制的行
Do Until I = Range("A65536").End(xlUp).Row
I = I + 1
If Range("A" & I).Text = 20 Then
If I < 16 Then R = R + 1 '如果等于20的行在要复制的行的前面,那将要复制的行号加1,否则不用加1,因为在下面的话插入行后要复制的行号不会改变。
Rows(I + 1).Insert
Rows(R).Copy Rows(I + 1)
End If Loop
End Sub
联系客服