[[20231227145548]] 『印刷タイトルを日付参照』(VBA初心者) ページの最後に飛ぶ

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

 

『印刷タイトルを日付参照』(VBA初心者)

いつもお世話になってます。

今回、あるシートを印刷時に、印刷タイトル設定しているのですが、ページが増えて、
それまで日付部分を同シート内の所から、関数で持ってきて、印刷タイトル設定にしていたのですが、少し変わり、5ページ程増えたので2ページ目から、
日付が変わるのですが、その際、関数はもう無理かなと思い、マクロ考えますが、
分からないので教えてほしいです。

1ページ目の印刷タイトルの
「A2に日付、B2に曜日」
「D2に日付、E2に曜日」
はそのままでいけますが、

2ページ目から
「A2に日付、B2に曜日」 を
     ↕
「A2をB20から参照した日付、B2をB20から参照した曜日」

 「D2に日付、E2に曜日」を
     ↕
 「D2をB27から参照した日付、E2にB27から参照した曜日」

3ページ目から
「A2に日付、B2に曜日」 を
     ↕
「A2をB31から参照した日付、B2をB31から参照した曜日」

 「D2に日付、E2に曜日」を
     ↕
 「D2をB38から参照した日付、E2をB38から参照した曜日」 

という風にページごとの上と下の日付を参照して印刷したいですが、できますでしょうか?

< 使用 Excel:unknown、使用 OS:unknown >


 タイトルを変えながら、1ページづつ印刷して行けば良いのではないでしょうか?

 参考
 https://www.moug.net/tech/exvba/0070015.html
 https://excel-ubara.com/excelvba1/EXCELVBA371.html

 # ただ、うまく行くかどうかは。。。やってみてください。

(ゆたか) 2023/12/27(水) 15:07:48


 印刷タイトルがどこの行なのかわかりませんが。こんなことでしょうか?

 Sub a()

    Dim a2 As Date
    Dim d2 As Date

    With ActiveSheet

        a2 = .Range("A2")
        d2 = .Range("D2")

 '        .PageSetup.PrintTitleRows = "$1:$2" ' すでに設定されていれば必要ない
        .PrintOut 1, 1, , True

        .Range("A2") = .Range("B20")
        .Range("D2") = .Range("B27")
        .PrintOut 2, 2, , True

        .Range("A2") = .Range("B31")
        .Range("D2") = .Range("B38")
        .PrintOut 3, 3, , True

        .Range("A2") = a2
        .Range("D2") = d2

    End With

 End Sub

 途中にあるTrueをFalseに変えれば、そのまま印刷されると思います。
(ゆたか) 2023/12/27(水) 16:28:29

 B2には以下のように入力しています。

 =TEXT(A2,"(aaa)")

 E2もほぼ同じってことで。。。
(ゆたか) 2023/12/27(水) 16:30:17

会社で、スマホがおかしかったかと思いましたが、投稿されてた事に
気づかず2回投稿は言われないと気づかなかったです。
ありがとうございます。

数十人分を忙しい時期に重なるので、何とかしたいと思って、ずーっと
サイト見て作るんですが、素人ですぐデバッグなってこちらに頼った次第です。

試してみます。
(VBA初心者) 2023/12/27(水) 17:55:49


無事にうまくいきました。

withステートメントも初めて知りました。
ありがとうございます!!
(VBA初心者) 2023/12/28(木) 19:10:49


コメント返信:

[ 一覧(最新更新順) ]


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