首页 > 解决方案 > 需要修改代码添加10个空行

问题描述

我需要这段代码来添加 10 行而不是 1 行。

我对 VBA 知之甚少,但从另一个站点窃取了此代码,这几乎正是我所需要的。它在“错误:”下方插入一行,但我确实需要它来插入 10 个空行。

Sub BlankLine()
    'Updateby20150203
    Dim Rng As Range
    Dim WorkRng As Range
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    Set WorkRng = Application.Selection
    Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
    Set WorkRng = WorkRng.Columns(1)
    xLastRow = WorkRng.Rows.Count
    Application.ScreenUpdating = False
    For xRowIndex = xLastRow To 1 Step -1
        Set Rng = WorkRng.Range("A" & xRowIndex)
        If Rng.Value = "ERROR:" Then
            Rng.Offset(1, 0).EntireRow.Insert Shift:=xlDown
        End If
    Next
    Application.ScreenUpdating = True
End Sub

实际结果是增加了 1 行,但我期待 10 个空行。

标签: excelvba

解决方案


虽然 Raul Guerrero 建议的解决方案有效,但它有一个缺点:插入行/列相当慢,因此与其插入一行 10 次,不如一次插入所有内容要好得多。

Scott Craner(在评论中)的解决方案应该更快,但我认为他有一个错字。我认为应该是

rng.Offset(1, 0).Resize(10, 1).EntireRow.Insert

推荐阅读