Excel 根据单元格的值在单元格上方添加空行

Excel 根据单元格的值在单元格上方添加空行,excel,Excel,在A列中,我在单元格中以固定的间隔显示字符串“new height:A1,A5803,A11605等等,每5802行显示一次 我想在每个包含字符串“newheight”的单元格上方添加2391个空行 我在excel论坛上从Olly那里得到了这个答案,而且它很有效- Sub foo() Const lRows As Long = 2391 Const sText As String = "new height" Dim s() As String Dim i As

在A列中,我在单元格中以固定的间隔显示字符串“new height:
A1
A5803
A11605
等等,每5802行显示一次


我想在每个包含字符串“newheight”的单元格上方添加2391个空行

我在excel论坛上从Olly那里得到了这个答案,而且它很有效-

Sub foo()
    Const lRows As Long = 2391
    Const sText As String = "new height"

    Dim s() As String
    Dim i As Integer

    Application.ScreenUpdating = False

    With ActiveSheet
        .AutoFilterMode = False
        .Range("A:A").AutoFilter field:=1, Criteria1:=sText
        s = Split(.AutoFilter.Range.SpecialCells(xlCellTypeVisible).Address, ",")
        .AutoFilterMode = False
        For i = UBound(s) To LBound(s) Step -1
            .Range(s(i)).Resize(lRows, 1).EntireRow.Insert
        Next i
    End With

    Application.ScreenUpdating = True

End Sub

我在excel论坛上从Olly那里得到了这个答案,它很有效-

Sub foo()
    Const lRows As Long = 2391
    Const sText As String = "new height"

    Dim s() As String
    Dim i As Integer

    Application.ScreenUpdating = False

    With ActiveSheet
        .AutoFilterMode = False
        .Range("A:A").AutoFilter field:=1, Criteria1:=sText
        s = Split(.AutoFilter.Range.SpecialCells(xlCellTypeVisible).Address, ",")
        .AutoFilterMode = False
        For i = UBound(s) To LBound(s) Step -1
            .Range(s(i)).Resize(lRows, 1).EntireRow.Insert
        Next i
    End With

    Application.ScreenUpdating = True

End Sub

您考虑过VBA宏吗?您可以记录操作并以这种方式实施。我将首先检查这个链接作为起点。您考虑过VBA宏吗?您可以记录操作并以这种方式实施。我将首先检查这个链接作为起点。