- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
5#
發表於 2016-10-5 09:04
| 只看該作者
本帖最後由 GBKEE 於 2016-10-8 15:17 編輯
回復 4# simplehope
試試看- Option Explicit
- Sub Ex()
- Dim Sh As Worksheet, xCol As Integer, Rng As Range, i As Integer
- For Each Sh In ActiveWorkbook.Sheets
- If Sh.PageSetup.PrintArea <> "" Then
- Set Rng = Nothing
- With Sh
- xCol = .VPageBreaks(1).Location.Column
- For i = 1 To .HPageBreaks.Count
- If .HPageBreaks(i).Location.Range("F16") = "" Then Set Rng = .HPageBreaks(i).Location: Exit For
- Next
- If Not Rng Is Nothing Then
- .PageSetup.PrintArea = .Range("a1", .Cells(Rng.Offset(-1).Row, xCol)).Address
- .Range("a1", .Cells(Rng.Offset(-1).Row, xCol)).Select
- .Range(Rng, .Range("A" & .Cells.SpecialCells(xlCellTypeLastCell).Row)).Resize(, xCol).Delete xlUp
- 'AJ欄原本公式=IF(AT14="","",$AT$74) , 改公式 =總頁數
- End If
- End With
- Sh.Names.Add Name:="總頁數", RefersToR1C1:=Sh.HPageBreaks.Count + 1
- End If
- Next
- End Sub
複製代碼 PS:2016/10/08 修正 |
|