似たような質問があり、請求書バージョンなど見て理解しようとしたのですが、どうしても出来ませんでした。 エクセルで、日付だけを変えて、日誌を1ヶ月分連続自動印刷させたいです。 シート1のA列に3月1日から3月31日までの日付を入力。 B列には、印刷をしたい日付の横に「1」を入力。(月曜日~土曜日)
シート2には、日誌のテンプレートがあり、そこの日付部分に、シート1の指定された日付(月曜日から土曜日)を連動させ、印刷ボタンを作成して、印刷ボタンを押すと連続印刷できるようにしたいです。
教えていただけると幸いです。よろしくお願いします。
教えていただけると幸いです。
No.4ベストアンサー
- 回答日時:
No.3 補足
① 毎月翌月分を印刷されるのだろうとして「InputBox」に翌月がデフォルトでセットされます。
② 月だけで考えると12月の翌月が今年の1月になってしまうので、今月より前になった時は翌年にするようにしています。(先月以前はセットできません)
③ A列に表示される日付には曜日も表示しました。(修正時の参考になるかと…)
No.3
- 回答日時:
以下の様な物はいかがですか?
※「Const 日付シート名 As String = "Sheet1"」「Const 日付シート名 As String = "Sheet2"」「Const 日付個所 As String = "A1"」は修正して下さい。
※「日付セット」マクロを実行後必要ならば B列を修正してその後「印刷処理」マクロを実行して下さい。
Option Explicit
Const 日付シート名 As String = "Sheet1" ' 環境に合わせて下さい
Const 印刷シート名 As String = "Sheet2" ' 環境に合わせて下さい
Sub 日付セット()
Dim 対象月 As String
Dim 年月日 As String
Dim 開始日 As Date
Dim 日付 As Date
Dim 行 As Long
Sheets(日付シート名).Select
対象月 = Format(DateAdd("m", 1, Date), "m") ' 翌月をデフォルトにセット
対象月 = InputBox(prompt:="対象の月を指定して下さい", Default:=対象月)
対象月 = StrConv(対象月, vbNarrow) ' 全角文字で入力した時の対応
年月日 = Year(Date) & "/" & 対象月 & "/1"
If IsDate(年月日) Then
開始日 = DateValue(年月日)
Else
If 対象月 = "" Then
MsgBox ("キャンセルしました")
Else
MsgBox ("「" & 対象月 & "」は月として指定出来ません")
End If
Exit Sub
End If
If 開始日 < DateValue(Year(Date) & "/" & Month(Date) & "/1") Then
開始日 = DateAdd("yyyy", 1, 開始日)
End If
Cells.ClearContents
Range("A1:A31").NumberFormatLocal = "yyyy/mm/dd (aaa)"
Do
日付 = 開始日 + 行
行 = 行 + 1
Cells(行, 1).Value = 日付
If Weekday(日付, vbMonday) <= 5 Then
Cells(行, 2).Value = 1
End If
Loop Until Day(開始日 + 行) = 1
Cells.EntireColumn.AutoFit
Cells.HorizontalAlignment = xlCenter
Range("B1").Select
End Sub
Sub 印刷処理()
Const 日付個所 As String = "A1" ' 環境に合わせて下さい
Dim 行 As Long
Sheets(印刷シート名).Select
For 行 = 1 To Sheets(日付シート名).Cells(Rows.Count, 2).End(xlUp).Row
If Sheets(日付シート名).Cells(行, 2).Value = 1 Then
Range(日付個所).Value = Sheets(日付シート名).Cells(行, 1).Value
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End If
Next
End Sub
No.2
- 回答日時:
こんばんは、先の回答にもあるように、行いたい事は、処理の自動化なのでマクロで処理する必要があります。
ご質問の中に、マクロやVBAと言ったキーワードがないので、りんご315さんにその知識があるか不明です。
しかし、初めからプログラムを考えられる人はいませんし、コードを書ける人もいません。このような事がきっかけになる事も
少なくないと思います。
もし、マクロをご存知がなく、挑戦してみようと言う事であれば、手助けをいたします。
マクロやVBAの導入などに興味がなければ、下記は読み飛ばしてください。
基本的に導入方法を知らなくては始まりません。
< Excelマクロ導入方法 >で検索してみてください。
記録方法は、< Excelマクロの自動記録 >で検索してざっくり学習しましょう。
実際に実験します。
記録ボタンを押してシートを選択、セルを選択、何かを入力を何回か行い、記録終了
何やら、VBEに記録される事を確認します。(内容は、ざっくりこの操作が、これかな位で)
ここまでで、1時間くらいでしょうか。
深く理解する為には時間がかかります。しかし、深く知る必要は、必要がある時にすれば良いと思います。
つまり、やり方や内容が分からなくなったら、また立ち返り学習すれば良いと思います。
単純な作業の繰り返しであれば、さほどマクロの知識がなくても記録機能を活用して合理化できます。
さて、ご質問のマクロは、単純作業と言うわけではありません。しかし、難しさで言えば、初級のレベルで十分実現できると思います。
記録方法が分かったら、今回の作業を実際に記録してみましょう。
ご質問にあるB列の1を判断し指定した日付を・・は、自動記録では実行が困難なので、単純に1枚だけ印刷する作業を記録します。
手順
日誌のテンプレートのシートを表示しておきます。
マクロの記録
シート1 を選択 > 印刷したい日付(A列)セルを選択 > Ctrl+C(又は右クリックからコピー) > 日誌のテンプレートのシートを選択 >
そこの日付部分セルを選択 > ペースト Enterを押す (又は右クリックから貼り付け又は形式を選んで値貼り付け)>印刷
シート1 を選択 > 次に印刷したい日付(A列)セルを選択 >・・・ペースト Enterを押す >印刷 2回やったら記録終了
上記を実際に記録するとこんな感じ
<仮定>
日誌のテンプレートシートのC4が日付入力セル
シート1のA4セルある日付をコピーして印刷、次にA10セルの日付をコピーして印刷。
Sub Macro1()
'
' Macro1 Macro
'
'
Sheets("シート1").Select
Range("A4").Select
Selection.Copy
Sheets("日誌のテンプレート").Select
Range("C4").Select
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
Sheets("シート1").Select
Range("A10").Select
Selection.Copy
Sheets("日誌のテンプレート").Select
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
End Sub
私は、Msdnみたいなサイトなら環境情報や検証コードの提示を求めたりしますが、
このサイトでは、幼稚園、小学生(VBA初心者に)に高校生レベルの質問をしなさいとは言いませんので、
もしチャレンジする気があれば、実際に記録したマクロを補足に上げてください。(私も考える事を放棄した質問には気が向かなければ回答しませんので)
条件で実行する部分などをアドバイスいたします。(時間的タイミングが合えば)
冒頭に検索して学習してくださいとしました。これは、最低限覚えて頂く為のものです。
私的な考えですが、スクリプト系で質問サイトに投稿されているその殆どは、学習の為投稿しているとは、思っていません。
なぜなら、問題の解決が目的だから、
学習目的であれば、基礎的な知識がある場合、調べた方が早いですし、自ずと実験、検証が必要になるので、関連学習も出来るからです。
No.1
- 回答日時:
マクロで処理することになりますね。
マクロについて分からないのであれば、一つずつ手作業で印刷を行うようにしましょう。
だれかに代わりにマクロを作ってもらっても、仕様…条件…が変わった時に自分で直せないだろ?
それにここは「代わりに作ってください」と作成代行する場所じゃないんだ。
自力で解決できるようにするためのアドバイスをする場所です。
「マクロで印刷する日付を見つけるアルゴリズムが分かりません」
など、分からない点を具体的に聞かれれば、相応な回答が返ってきますよ。
・・・
それでも、一通りのマクロを書いて示す人はいますけどね。
ありがとうございます。自分で調べて、実際にエクセルをマクロでいじってみたのですが、行き詰まってしまい、質問してしまいました。自分で知識を深めたいと思います。ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
許せない心理テスト
私は「あなたの目の前にケーキがあります。ろうそくは何本刺さっていますか」と言われ「12本」と答えたら…
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
日付だけを変更して印刷(Excel)
Excel(エクセル)
-
1ヶ月分の日付を一度に出す方法はありますか?
その他(パソコン・スマホ・電化製品)
-
日誌を作るため印刷時に日付をずらしたい
その他(Microsoft Office)
-
-
4
エクセルVBAで日報自動印刷
Access(アクセス)
-
5
エクセル 平日のみ連絡印刷
Excel(エクセル)
-
6
EXCELで1ヶ月分の連続した日付をシート名+セルに表示させたい
Excel(エクセル)
-
7
今日の日付の範囲を指定して印刷する方法について。
Excel(エクセル)
-
8
エクセルで日付連続印刷
Excel(エクセル)
-
9
Word:日付を入れ替えながら印刷したい
その他(Microsoft Office)
-
10
エクセルで日付を変えて印刷したい
Excel(エクセル)
-
11
土日祝を省いた印刷
Excel(エクセル)
-
12
EXCELで同一フォーマットのシートを31日分簡単に作成する方法は?
PowerPoint(パワーポイント)
-
13
エクセルの表の印刷、一枚に毎月印刷したい
Excel(エクセル)
-
14
数字をカウントしながらエクセル印刷したい
Excel(エクセル)
-
15
エクセルのマクロで複数シートを両面印刷するには?
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
スマホ本体からSDカードへ移...
-
エクセル 日付 指定 連続印刷
-
デジカメで撮影した写真に、日...
-
日付入り写真をエクセルに貼り...
-
usbの中のものも、Googleフォト...
-
同級生の顔を使ってエロ画像を...
-
Googleドライブの動画の画質に...
-
可愛い子はプリクラが盛れない...
-
「湾岸の千葉君」での秀里毅の写真
-
至急回答お願いします、彼氏に...
-
pixivの画像を保存しようとした...
-
可愛い子がプリクラを撮ると盛...
-
整形外科などで、MRIやレントゲ...
-
グーグル画像検索にかからない...
-
1600×1200の画像データを半切か...
-
コンクリートが茶色になってし...
-
デジカメに日付設定せず撮影し...
-
「強調」の対義語は何ですか?
-
結婚して2ヶ月の旦那のスマホの...
-
証明用写真の作り方をお教えく...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセル 日付 指定 連続印刷
-
エクセルで曜日を入れたい
-
スマホ本体からSDカードへ移...
-
日付入り写真をエクセルに貼り...
-
デジカメで撮影した写真に、日...
-
デジカメの日付表示を消す方法
-
Word:日付を入れ替えながら印...
-
CD-Rを作成した日を知る方法は...
-
デジカメの写真に日付をいれた...
-
写真の日付を印字しない方法
-
キャノン デジカメ 日付変更...
-
パワーポイントの画面に日付が...
-
usbの中のものも、Googleフォト...
-
日付入りで撮影した写真を、印...
-
この写真のようにオレンジ色で...
-
EOS kiss の日付が表示されなく...
-
写真の印刷するときの日付
-
パソコンで『日付』の入力
-
ヘッダ[送信日時]の編集
-
デジカメの日付表示
おすすめ情報
回答を下さった皆様、ありがとうございます。
言葉足らずで申し訳ありません。マクロやVBAは、簡単なものであれば、日常業務で使用しておりました。今回、もっと知識を深めたいと思い、VBAをもっと勉強したいと考えております。 ご丁寧に教えて下さり感謝致します。ありがとうございました。
ご回答下さった皆様
凄く大変なVBAのコードを教えてくださった方
また、ご丁寧に教えてくださった方
内容を熟読してから、改めてお礼させて頂きたいと思います。 知識不足の私の為に、ありがとうございます。皆さんのご回答、大変勉強になります。