Page 191 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼ページ番号の取得について truth 02/10/10(木) 18:08 ┗Re:ページ番号の取得について ichinose 02/10/11(金) 2:12 ┗Re:ページ番号の取得について truth 02/10/11(金) 12:09 ─────────────────────────────────────── ■題名 : ページ番号の取得について ■名前 : truth ■日付 : 02/10/10(木) 18:08 -------------------------------------------------------------------------
はじめまして。指定したセルが印刷時に何ページ目に出力されるのかマクロ内でページ番号を取得したいのですがやり方が分かりません。どなたか教えてください。 |
▼truth さん: こんばんは。 >はじめまして。指定したセルが印刷時に何ページ目に出力されるのかマクロ内でページ番号を取得したいのですがやり方が分かりません。どなたか教えてください。 関数にしてみました。 '================================================================ Sub test() MsgBox get_page(ActiveCell) End Sub '================================================================ Function get_page(rng As Range) As Long 'input rng ページを知りたいセル(但し、印刷対象になっているセルに限る) Dim hp As HPageBreak Dim vp As VPageBreak Dim arow As Long Dim acol As Long Dim hcnt As Long Dim vcnt As Long arow = rng.Row acol = rng.Column pp = rng.Parent.PageSetup.Order hcnt = 0 For Each hp In rng.Parent.HPageBreaks If hp.Location.Row <= arow Then hcnt = hcnt + 1 Next vcnt = 0 For Each vp In rng.Parent.VPageBreaks If vp.Location.Column <= acol Then vcnt = vcnt + 1 Next If pp = xlDownThenOver Then get_page = vcnt * (rng.Parent.HPageBreaks.Count + 1) + hcnt + 1 Else get_page = hcnt * (rng.Parent.VPageBreaks.Count + 1) + vcnt + 1 End If End Function |
ichinoseさんありがとうございます。 さっそく試してみたところ無事ページ番号をとってこれました。 今後もよろしくおねがいします。 |