目前正在进行一些大型的文书工作。所以我需要帮助。
我正在寻找在特定工作表的每个分页符下添加 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有一点了解,对于这种愚蠢的逻辑感到遗憾
答案 0 :(得分:0)
我更改了循环条件,因为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
答案 1 :(得分:0)
以下代码将遍历HPageBreaks
表格中的所有ws
,并会在当前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行代码,而不是3代码行,请使用以下代码行:
.Range(PgBreak.Location.Offset(1, 0), PgBreak.Location.Offset(3, 0)).EntireRow.Insert