excel - 如何每次都在分页符下插入功能区?
问题描述
这样做的目的是为我们的每周计划打印一个 PDF 页面。C 列有每个工作的开始日期,我需要一个占据整行的功能区来记录日程表中一周中的每一天。我有一个Do While Loop
检查 C 列并为每个新日期添加功能区的功能,但由于有多个页面,我还需要功能区在每个分页符下显示。
我遇到的问题是功能区并不总是插入在分页符下方,而是有时在它上方。我发现一个 With Loop 每次都能正确处理分页符,但我不知道如何让它与我的Do While Loop
. 基本上,每当星期几发生变化时,我只能在我们的分页符下添加星期丝带。
Sub forEachDayOfWeek()
Range("A4").Formula = "=TEXT(C5,""dddd"")"
Range("E6").Select
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Do While ActiveCell.Offset(-1, 0) <> "" And ActiveCell.Offset(0, -1) <> ""
If ActiveCell.Value = 1 Then
ActiveCell.Offset(2, 0).Select
ElseIf ActiveCell.EntireRow.PageBreak <> xlPageBreakNone Then
Rows("4:4").Copy
Selection.EntireRow.Insert Shift:=xlDown
ActiveCell.Offset(2, 0).Select
ElseIf ActiveCell.Value = ActiveCell.Offset(-1, -2) Then
ActiveCell.Offset(1, 0).Select
ElseIf ActiveCell.Value = ActiveCell.Offset(-1, 0) Then
ActiveCell.Offset(1, 0).Select
ElseIf ActiveCell.Value > ActiveCell(-1, 0) Then
Rows("4:4").Copy
Selection.EntireRow.Insert Shift:=xlDown
ActiveCell.Offset(2, 0).Select
End If
Loop
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub
Sub forEachPageBreak()
Dim ws As Worksheet
Dim PgBreak As HPageBreak
Set ws = ActiveSheet
With ws
If .HPageBreaks.Count > 0 Then
For Each PgBreak In .HPageBreaks
Rows("4:4").Copy
PgBreak.Location.Insert
Next
Else
MsgBox "No data in sheets"
End If
End With
End Sub
解决方案
推荐阅读
- java - MVVM - 我应该在哪里调用用户位置?
- parse-platform - 使用 Parse 进行范围查询
- android - 为什么 Room 不创建数据库?
- android - 如何使用 React Native 从我的 SD 卡上的特定文件夹中获取所有音频文件的元数据?
- python - 如何使用 Python 从 Hubspot 查询多个属性?
- javascript - 在 Backbone 中,如何在列表项中的锚标记上获取单击事件
- roblox - Roblox 武器套件在移动到复制存储时会损坏
- ios - 用有限的线条截断尾部后的 Swift UILabel 放置按钮
- python - 无论输入多少条记录,大约 150 个表后,将 pandas 数据帧发送到 PostgreSQL 都会减速
- javascript - Authorization error: undefined 'No callback function was given.'