跳到主要内容

一次插入多行

使用 Range 对象的 Insert 方法可以在指定行之前插入多个空行。

循环插入法

以下示例在第 2 行之前插入 1 个空行,循环3次,所以一共插入 3 个空行:

Sub InsertMultipleRows1()
    Dim i As Integer
    For i = 1 To 3
        Rows(2).Insert
    Next i
End Sub

引用多行插入法

由于在工作表中插入行的数量,与当前所选择的单元格区域的行数一致,所以通过引用多行区域的方法可以实现一次插入多行。

以下示例在第 2 行之前一次插入 3 个空行:

Sub InsertMultipleRows2()
    Dim ws As Worksheet
    Set ws = Sheets("Sheet1") '将工作表指定为 Sheet1

    Dim startRow As Long
    startRow = 2 '插入行的起始行号

    Dim numRows As Long
    numRows = 3 '要插入的行数
    
    ws.Rows(startRow & ":" & startRow + numRows - 1).Insert '插入多行
End Sub

以下示例在第 2 行之前一次插入 3 个空行:

Sub InsertMultipleRows3()
    ' EntireRow 属性返回单元格 A2 所在的整行单元格对象,
    ' 即工作表中的第 2 行,然后使用 Resize 属性调整行数后插入3个空行。
    Range("A2").EntireRow.Resize(3).Insert
End Sub

以下示例在第 2 行之前一次插入 3 个空行:

Sub InsertMultipleRows4()
    Rows(2).Resize(3).Insert
End Sub

隔行插入一行

以下示例从第 2 行开始,隔行插入一行,一共插入5行:

Sub InsertRows()
    Dim ws As Worksheet
    Set ws = Sheets("Sheet1") ' 将工作表指定为 Sheet1

    Dim startRow As Long
    startRow = 2 ' 插入行的起始行号

    Dim numRows As Long
    numRows = 5 ' 要插入的行数

    Dim i As Long
    For i = 0 To numRows - 1
        ws.Rows(startRow + 2 * i).Insert ' 隔行插入一行
        ' 在插入的行中填写示例数据
        ws.Cells(startRow + 2 * i, 1).Value = "Demo"
    Next i
End Sub

控制插入单元格区域的格式

在工作表中插入单元格区域时,在默认情况下,其格式与其左侧单元格或上方单元格的格式相同。

以下示例在行 2 上方插入一行,复制第 1 行即标题行的格式。

Range("2:2").Insert

如果需要插入的行的格式与右侧单元格或下方单元格的格式相同,则需要调整 CopyOrigin 参数,即:CopyOrigin:=xlFormatFromRightOrBelow

以下示例在行 2 上方插入一行,复制第 3 行而不是标题行的格式。

Range("2:2").Insert CopyOrigin:=xlFormatFromRightOrBelow

评论

您的电子邮件地址不会显示出来。*号为必填项。