[[20030822094606]] 『ヘッダー、フッダー』(ぽぽぽん) >>BOT

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『ヘッダー、フッダー』(ぽぽぽん)

はじめまして。
同一シート内にA4サイズのページが10ページあるとします、
1〜5ページのフッダーをAAAと設定してあるとします、残りの6〜10ページのフッダーを
BBBとしたいのです。 説明がへたですみません。
どなたか教えていただけませんか よろしくです。


ぽぽぽん さんのご要望とちょっと違うかもしれませんが、結構使えるマクロと思います。試してみてください。
 Sub ヘッダーおよびフッター()
  Dim a As String, b As Integer
    a = Application.InputBox(Prompt:="ヘッダーもしくはフッターの文字を入力してください", Type:=2)
  If a = "" Then
    Exit Sub
  Else
    b = Application.InputBox(Prompt:="1:ヘッダー(左) 2:ヘッダー(中央) 3:ヘッダー(右)" & _
                             Chr(10) & "4:フッター(左)  5:フッター(中央)   6:フッター(右)" & _
                             Chr(10) & Chr(10) & "配置する場所を選択してください(1〜6)", Type:=1)
    With ActiveSheet.PageSetup
      If b = 1 Then
        .LeftHeader = a
      ElseIf b = 2 Then
        .CenterHeader = a
      ElseIf b = 3 Then
        .RightHeader = a
      ElseIf b = 4 Then
        .LeftFooter = a
      ElseIf b = 5 Then
        .CenterFooter = a
      ElseIf b = 6 Then
        .RightFooter = a
      Else
        MsgBox "1〜6の番号から選んでください", vbExclamation
      End If
    End With
  End If
 End Sub

一応、文字を入力する必要がありますが。AAAやBBBの限定なら、上記aのPromptをbと同様にAAAかBBBから選ぶように変更してみてください。    (ピョン)


(ピョン)さん御返答誠に有難うこざいました。
 しかしながら私には難しすぎてよく分かりません。
もしよろしければ分かりやすくしていただけるとありがたいのです。
(ぽぽぽん)

これを見てください    (ピョン)

[[20030803115543]]『シートの並べ替え』(はな)


(ピョン)さん有難うございます。
とりあえず出来ましたが、やはり私の希望の同一シート内でページごとにヘッダーを
変えるのは無理なのでしょうか?
(ぽぽぽん)


すいません。勘違いしてました。同一シート内での作業なんですね。上記マクロは、シートが違うときです。ぽぽぽんさんのリクエストなら、これでいけると思いますが。。。

 Sub AAAとBBB()
  Dim n As Integer
  n = ActiveSheet.HPageBreaks.Count + 1
    If n < 6 Then
      With ActiveSheet.PageSetup
        .CenterFooter = "AAA"
        ActiveWindow.SelectedSheets.PrintOut From:=1, To:=n, Copies:=1, Collate:=True
      End With
    ElseIf n > 5 Then
      With ActiveSheet.PageSetup
        .CenterFooter = "AAA"
        ActiveWindow.SelectedSheets.PrintOut From:=1, To:=5, Copies:=1, Collate:=True
      End With
      With ActiveSheet.PageSetup
        .CenterFooter = "BBB"
        ActiveWindow.SelectedSheets.PrintOut From:=6, To:=n, Copies:=1, Collate:=True
      End With
    End If
 End Sub

試してみてください。     (ピョン)


(ピョン)さん本当に何度も有難うございます。
早速上記のマクロをそのままコピペしましてマクロを実行いたしますと
プリントアウトまでいってしまうのですが、プリントアウトまでいかなくてもよい
のですがどうすればよいのでしょうか
本当に質問ばかりで申し訳御座いません・・・


すいません。力不足で。。。私はプリントアウトさせる方法しか分かりませんでした。多分、ヘッダーとフッターを変更させると、すべてのページに反映されます。なので、一度、AAAのヘッダーにしてから、プリントアウトして、その後、BBBに変えてから、プリントアウトしないと出来ないと思ったのですが。プレビューにするなら、

 ActiveWindow.SelectedSheets.PrintOut From:=1, To:=n, Copies:=1, Collate:=True
 および
 ActiveWindow.SelectedSheets.PrintOut From:=6, To:=n, Copies:=1, Collate:=True
 を
 ActiveSheet.PrintPreview
 に変えればいいとおもいますが、
 ActiveWindow.SelectedSheets.PrintOut From:=1, To:=5, Copies:=1, Collate:=True
 は、変えられません。

また、このとき、シートの印刷枚数が6ページ以上あると、プレビューで見たとき、5枚目までもBBBになると思いますが。さらに、5枚目まで、印刷もされてしまうと思います。本当に力不足ですいません。おそらく、達人の先生方から、レスが入ることと思いますので、確認してください。          (ピョン)

 PS
 私、また間違ってましたね。フッターでなくて、ヘッダーなので、.CenterFooter を、.CenterHeader に直しておいてください。すいません。

 From:(Eureka)
 To(ぽぽぽん)さん。
 似た問題が過去にあります。
[[20030601001838]]『ヘッダを思うように使いたい!』(Eureka) 

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.