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