解決済み

EXCEL のペ-ジ

  • すぐに回答を!
  • 質問No.4173126
  • 閲覧数429
  • ありがとう数3
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 93% (445/477)

EXCEL を用いてペ-ジ番号を
奇数ページは右下
偶数ページは左下
に表示されるようにするには
どうすればよいのでしょうか?

質問者が選んだベストアンサー

  • 回答No.3

ベストアンサー率 55% (67/120)

↓のマクロでいかがでしょうか?

Sub test()
 Dim PPage As Integer
 Dim i As Integer
 Dim RFooter As String
 Dim LFooter As String
 Const myFooter As String = "&P"

 PPage = Application.ExecuteExcel4Macro("get.document(50)") '総ページ数を取得

 For i = 1 To PPage
  If i Mod 2 = 1 Then
   RFooter = myFooter '奇数ページの場合右フッターにページ番号
   LFooter = ""
  Else
   RFooter = ""
   LFooter = myFooter '偶数ページの場合左フッターにページ番号
  End If
 
  With ActiveSheet
   With .PageSetup
    .RightFooter = RFooter
    .LeftFooter = LFooter
   End With
   .PrintOut From:=i, To:=i ', Preview:=True '←プレビューでチェックしたい場合、「'」をはずす
  End With
 Next
End Sub

記マクロを実行するには、以下の手順です。

1.上記マクロの Sub から End Sub までを選択してCtrl+C (コピー)
2.Alt+F11(メニュー[ツール]-[マクロ]-[VBE])
→VBE(Visual Basic Editor)が開く
3.プロジェクトエクスプローラで、VBAProject(<当該ブック名>)を選択
4.メニュー[挿入]-[標準モジュール]
5.Ctrl+V (貼り付け)
6.Alt+F4(メニュー[ファイル]-[終了してMicrosoft Excelへ戻る])
7.この処理を実行したシートを表示した状態で、Alt+F8(メニュー[ツール]-[マクロ]-[マクロ])
8.実行したいマクロ名(この場合、test)を選択
9.[実行]ボタンをクリック

エクセル技道場-マクロ
http://www2.odn.ne.jp/excel/waza/macro.html
お礼コメント
goousa

お礼率 93% (445/477)

ありがとうございます。素晴らしいです。
投稿日時 - 2008-07-14 07:09:29
感謝経済

その他の回答 (全2件)

  • 回答No.2

ベストアンサー率 28% (4440/15781)

他カテゴリのカテゴリマスター
操作・設定では下記(A)以外では不可能です。
ーー
普通はVBAなら少し融通が利く場合が多いですが、本件はVBAを使ってもでも、望みどおりにはスンナリ行きません。
原因はエクセルーOS-プリンタの指示の流れで、一括的委託的印刷依頼が行われていて、ページ印刷後に一々プリンタからの終りましたの反応が返ってこないので、VBAでその機会を捉えて設定の変更を駆使できない仕組みのため、各ページ印刷前にエクセル側から口出しできないことにあると思います。BeforPagePrintEditのようなイベント(判りますか?)があればよいのにと思いますが、無いようです。
ーー
バリエーションとして
(1)エクセルのシートのあるセルにページ数を載せる方法
(2)ヘッダー・フターの左・中・右のどれかを使う方法
のどれか
ーー
(A)手動ページ範囲印刷指定、各ページ印刷を手動印刷操作
(B)VBAで1ページづつ範囲を(ヅラして)捉えて、1ぺージづつ印刷指令のPrintOutを出す方法。
(普通は範囲指定をしてPrintOut指令を出すと、印刷範囲が何ページ分あっても、ページ設定情報などは一律で、全ページが一度に印刷がされる。)
ーー
1ページの範囲の割り出しも
(x)ページ印刷範囲も、定数行・定数列で決まる場合
(y)印刷前のHPageBreakとVPageBreakを察知して割り出さないといけない場合
の2種は考えられる。
このように、質問のケースがどの組み合わせであれば、実現できるのか、質問文では判らないので、すぐはVBAコードもかけない。
ーー
言っていることが良くわからないとか判らない場合は、本回答は無視してください。
ーー
それであれば、質問者には手動でやる以外は事実上出来ないってことです。
(1)上記(1)(2)はユーザーが設定
(2)1ページ印刷範囲指定
(3)手動印刷
(4)設定変更(質問の要求を入れるためのフター・ヘッダー抹消や指定)
(5)次ページ範囲指定
(6)手動印刷  
以下続く。
お礼コメント
goousa

お礼率 93% (445/477)

ありがとうございます。勉強になります。
投稿日時 - 2008-07-14 07:12:26
  • 回答No.1

標準ではそういう機能はありませんよ。

VBAでなんとかできるかということですか?

VBA経験者ですか?

以上
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

特集


感謝指数によるOK-チップ配布スタート!

ピックアップ

ページ先頭へ