[[20210413141603]] 『日付と値を入れて連続印刷』(アイロン) ページの最後に飛ぶ

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

 

『日付と値を入れて連続印刷』(アイロン)

お世話になります。VBA初心者ですが以下内容のものは実現可能でしょうか、詳しく教えていただければと思います。

例ですがA1に日付、B1に値、それぞれ数が一つずつ増える形で連続印刷したいです。
B1に入る値は1〜3でどの数字から始まるか指定し、3まで行ったら1に戻りたいです。
日付は指定日〜指定日まで印刷したいのでその最終日までB1の値がループできるようにしたいです。

開始4/1 終了4/5 で 開始番号2 から始めたい場合は
4/1 2 , 4/2 3 , 4/3 1 , 4/4 2 , 4/5 3で5ページ印刷されるような形です。

説明すらわかりにくく申し訳ありませんがよろしくお願いいたします。

< 使用 Excel:Excel2019、使用 OS:Windows10 >


 この学校内でも 差込印刷 とかでけんさくすると
たくさん、出てきますよ。^^
日付と、番号だけが変化して、後は?同じ内容なのでしょうかね。。。
いま、すこし、具体的な情報のご説明が可能であれば[表形式]
多数、アドバイスが有るかもしれません。。。←多分。。。^^;
m(__)m
(隠居じーさん) 2021/04/13(火) 15:21

隠居じーさん様
ご返信ありがとうございます。
見よう見まねで、日付を変えて印刷、と数字をループして入力、は個々にできるようになったのですが
どうしても同時進行ができずご相談させていただきました。
日付と番号以外の内容は変わりません、その二点のみを変えて印刷したいです。
(アイロン) 2021/04/13(火) 16:29

 もっとスマートな記述方法があるとは思いますが
下記の様な事でも、。。。^^;
エラー処理等御座いませんので。。。。
参考程度にお留め下さい。m(__)m
Sub OneInstanceMain01()
    Dim no            As Long
    Dim symd          As Date
    Dim eymd          As Date
    symd = DateSerial(2021, 4, 1)
    eymd = DateSerial(2021, 4, 5)
    no = 2
    Do Until symd > eymd
        no = IIf(no > 3, 1, no)
        With Worksheets("Sheet1")
            .Range("A1") = symd
            .Range("B1") = no
            .PrintPreview
        End With
        symd = symd + 1
        no = no + 1
        If no = 3 Then DoEvents
    Loop
End Sub
(隠居じーさん) 2021/04/13(火) 16:42

隠居じーさん様

す、す、すごい…!ありがとうございます。出来ました!
ちなみにもし可能でしたら教えていただきたいのですが
別の質問サイトで見つけた(日付を変えて連続印刷VBA)
Sub Test()
Dim myPrompt_s As String, myTitle_s As String
Dim myPrompt_e As String, myTitle_e As String
Dim startDay As Date, endDay As Date, I As Integer
On Error GoTo ExitMe
myPrompt_s = "何月何日からですか?"
myTitle_s = "印刷開始日付"
myPrompt_e = "何月何日までですか?"
myTitle_e = "印刷終了日付"
startDay = Format(InputBox(myPrompt_s, myTitle_s), "yyyy/m/d") '開始
endDay = Format(InputBox(myPrompt_e, myTitle_e), "yyyy/m/d") '終了
For I = 0 To endDay - startDay
Range("A1").Value = Format(startDay + I, "yyyy/m/d")
ActiveSheets.PrintOut
Next I
ExitMe:
End Sub
のように、「何月何日からですか?」「何月何日までですか?」「開始ナンバーな何ですか?」という感じで打ち込めたらいいなぁと思っているのですがすみません、教えていただいたものにどのように組み込めばいいのかまるで分らず…。
(アイロン) 2021/04/13(火) 17:57


 symd = DateSerial(2021, 4, 1)
 eymd = DateSerial(2021, 4, 5)
 no = 2
を
それぞれ
Application.Inputbox
で
受ければいいですよ。
Application.Inputboxについては、VBA Application.Inputboxの使い方
とかで、検索戴いて、お勉強された方が、あいまいな、私の説明
より解りやすいかと。。。^^;。。。。でわ、頑張ってくださいね。
m(_ _)m

(隠居じーさん) 2021/04/13(火) 18:57


隠居じーさん様

初心者がむやみやたらに使うのはよくないですよね…
検索して頑張って勉強してみます!

丁寧に教えていただきありがとうございました。
(アイロン) 2021/04/13(火) 19:36


コメント返信:

[ 一覧(最新更新順) ]


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