为什么 VBA 插入五行而不是一行

发布于 2025-01-11 11:50:46 字数 418 浏览 0 评论 0原文

我正在尝试在工作表中插入行,但我不是只插入 1 行,而是插入 5 行。感谢您的帮助。 FinalRngA 和 FinalRngB 是工作表中的行,我之前用 for 循环声明了它们。

        If Sheets(shtName).Range(FinalRngB(i)) <> Sheets(shtName).Range(FinalRngB(i - 1)) And i > 1 Then
            Sheets(shtName).Range(FinalRngA(i)).EntireRow.Insert
            Sheets(shtName).Range(FinalRngA(i)) = Sheets(shtName).Range(FinalRngB(i + 2))
        End If
    Next```

i am trying to insert row in sheet but instead of inserting only 1 row, I insert 5. Thanks for any help.
FinalRngA and FinalRngB are rows in sheet, that i declared before with for loop.

        If Sheets(shtName).Range(FinalRngB(i)) <> Sheets(shtName).Range(FinalRngB(i - 1)) And i > 1 Then
            Sheets(shtName).Range(FinalRngA(i)).EntireRow.Insert
            Sheets(shtName).Range(FinalRngA(i)) = Sheets(shtName).Range(FinalRngB(i + 2))
        End If
    Next```

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

时间海 2025-01-18 11:50:46

Range.Insert 将插入一个与其自身大小和形状相同的范围。

演示

Range Insert


测试代码

Sub TestInsert(RowCount As Long, ColumnCount As Long)
    Cells.ClearContents
    Range("A1").Resize(100, 100).Value = "x"
    Range("A1").Resize(RowCount, ColumnCount).Insert
    Range("A1").Resize(RowCount, ColumnCount).Select
    Range("A1").Resize(RowCount, ColumnCount).Value = RowCount & "x" & ColumnCount
End Sub

Range.Insert will insert a range the same size and shape as itself.

Demo

Range Insert


Test Code

Sub TestInsert(RowCount As Long, ColumnCount As Long)
    Cells.ClearContents
    Range("A1").Resize(100, 100).Value = "x"
    Range("A1").Resize(RowCount, ColumnCount).Insert
    Range("A1").Resize(RowCount, ColumnCount).Select
    Range("A1").Resize(RowCount, ColumnCount).Value = RowCount & "x" & ColumnCount
End Sub
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文