我想知道如何在具有“订单类型”(如下所述)的指定行上方插入 3 个额外的行。
此行在工作表中多次出现。下面的代码有效,除了它插入指定行下方的行。谢谢
Sub try()
Dim c As Range
For Each c In Range("A1:A100")
If c.Value Like "*Order Type*" Then
c.Offset(3, 0).EntireRow.Insert
End If
Next c
End Sub
最佳答案
如果您的问题是在搜索条件上方添加 3 行,那么解决您的问题应该很容易:
在你的代码行中:
c.Offset(3, 0).EntireRow.Insert
您的行说当找到订单类型时,他应该在下面 3 行并插入额外的行。
应该是这样的:
c.EntireRow.Resize(3).Insert
我的行说,当找到订单类型时,在它上面添加 3 行。
希望这就是你要找的。
编辑:
我在互联网上搜索并发现了与您的问题类似的东西,并根据您的需要进行了更改。希望这对你有用。
几乎没有解释它是如何工作的:它一直搜索 A 列,如果找到“订单类型”,它会在其上方添加 3 行。当宏进入空白单元格时,它会停止。试试看,告诉我它是否对你有好处。
Sub AddRows()
Dim lastValue As String, i As Long, r As Long
Do
r = r + 1
If r > 1 And Cells(r, 1).Value Like "*Order Type*" Then
If Cells(r, 1).Value = "" Then Exit Do
For i = 1 To 3
Rows(r).Insert Shift:=xlUp
Next
r = r + 3
Else
If IsEmpty(Cells(r, 1)) = True Then
Exit Do
Else
End If
End If
lastValue = Cells(r, 1).Value
Loop
End Sub
关于vba - 在指定行上方插入行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17843461/