Excel VBA在分页符下插入新行

目前在一些大的文件上工作。 所以我需要帮助。

我正在寻找一种方法来在特定工作表的每个分页下添加3个新行

Sub WhereIsPageBreak() Dim ws As Worksheet Dim x As Integer x = 1 Set ws = Sheets("2ND SEM 2013") With ws.HPageBreaks If .Count > 0 Then For Each x In .Item .Item(x).Location.Insert .Item(x).Location.Insert .Item(x).Location.Insert Next Else MsgBox "No Page Breaks on this Sheet" End If End With End Sub 

这是我所做的,但可悲的是它不工作。

在VBA中我只有一点点的知识,所以对于这样一个愚蠢的逻辑感到抱歉

我改变了循环条件,因为x已经指向了分页索引,所以你不必使用For..Each

检查下面的代码。

 Sub WhereIsPageBreak() Dim ws As Worksheet Dim x As Integer Set ws = Sheets("2ND SEM 2013") With ws.HPageBreaks If .Count > 0 Then For x = 1 To .Count .Item(x).Location.Insert .Item(x).Location.Insert .Item(x).Location.Insert Next Else MsgBox "No Page Breaks on this Sheet" End If End With End Sub 

下面的代码将遍历ws表中的所有HPageBreaks ,并将在当前HPageBreak的最后一行下面插入3行。

 Option Explicit Sub WhereIsPageBreak() Dim ws As Worksheet Dim PgBreak As HPageBreak Set ws = Sheets("2ND SEM 2013") With ws If .HPageBreaks.Count > 0 Then For Each PgBreak In .HPageBreaks PgBreak.Location.Insert PgBreak.Location.Insert PgBreak.Location.Insert Next Else MsgBox "No Page Breaks on this Sheet" End If End With End Sub 

编辑1 :如果你想添加3行与1代码行(而不是3),使用下面的代码行:

 .Range(PgBreak.Location.Offset(1, 0), PgBreak.Location.Offset(3, 0)).EntireRow.Insert