No.3ベストアンサー
- 回答日時:
なるほど・・・・。
つまり、1,2,3,....31枚とプリントアウトすると、それぞれに5/1,5/2,5/3,.....5/31と日付が記入されているということですね?。
これをVBAで行うとなると・・・、PrintOutメソッドをループにかける必要が出てきそうですね。簡単な思いつきマクロでは、
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
のような感じではないでしょうか(この例ではセルA1に日付が入ります)。
ただ、このマクロ、走ることは走りますが、PrintOutメソッドをループ内に入れているので、枚数が増えるとOSやドライバ関係のエラーを誘発するおそれがあります。できれば、ファーマットを31ページ作って(シートの下の方にコピー&ペーストで増やす)印刷範囲を変化させるようなコーディングが望ましいと思われます。
No.2
- 回答日時:
ponkitiさんこんにちは
> 何月何日から何月何日までと入力してボタンを押すだけで
とありますが、日付の並び具合が判りませんので、オートフィルタを使った方法を紹介します。
例)日報データの日付はA列に入力されていて、これをキーとして特定の期間を抽出し、その結果を印刷するという方法です。なお、抽出する期間は、”何月何日から”がセルB1に、何月何日まで”がセルB2に記入されていることとします。
Sub MySheetPrintOut()
Dim startDay As String, endDay As String
With ActiveSheets
'---印刷範囲を使用しているセルすべてに設定します(注記1)
.PageSetup.PrintArea = _
ActiveSheet.UsedRange.CurrentRegion.Address
'---抽出開始~終了期間を取得します
startDay = Format(.Range("B1").Value, "yyyy/m/d")'開始
endDay = Format(.Range("B2").Value, "yyyy/m/d")'終了
'---抽出開始~終了期間でフィルタをかけます
.Range(Cells(4, 1), Cells(.UsedRange.Rows.Count, 1)).AutoFilter
Selection.AutoFilter Field:=1, _
Criteria1:=">=" & startDay, _
Operator:=xlAnd, _
Criteria2:="<=" & endDay
'---印刷します(注記2)
.PrintOut
'---フィルタを解除します
Selection.AutoFilter Field:=1
End With
End Sub
注記1:このコードでは、一切、記入がない列が存在する場合の配慮がありませんので注意してください。
注記2:印刷用紙や印刷部数の値を必要に応じて追加してください。
簡単に書いていますので、実際はエラー処理などが必要です。
Win98SE+Excel2000の環境にて動作確認済みです
この回答への補足
早速のプログラムありがとうございます。
ちょっと状況の説明が甘かったので補足いたします。
製造日報がエクセルで作成されており、通常は日付欄は
空欄になっています。いつも、これを毎月見直して変更したりして一枚だけ印刷し、1ヶ月分コピー機で印刷してい
ます。これを自動的に日付入りをプリンターで印刷したい
ということです。
イメージ的には、日報印刷のマクロボタンを押すと
「何月何日からですか」とダイヤログボックスがでて
たとえば5月1日と入力、すると次に「何月何日までですか」と出てきて、5月31日と入力すると、「印刷しますか?」とでて、「ハイ」を押すとあとは、日付欄に5月1日が自動入力されて印刷→5月2日が自動入力されて印刷→・・・→5月31日入力されて印刷→終了 となるようなマクロです。単純に上記の操作を自動記録でやってみたらうまくいったのですが、とても長いマクロになるし、日付の融通がきかないので使いずらいのです。サブルーチンとか使ってもっと短いプログラムで、対話形式でできる方法をなんとかおしえていただきたいのですが、・・・誠に勝手な御願いで申し訳ございませんが、何卒宜しく御願いいたします。
No.1
- 回答日時:
エクセルのブックが月別で、シート毎に日付で分けていらっしゃるのでしょうか?
上記のような区分けの場合、VBAで制御するまでもなく、印刷したいシートの先頭を選び、SHIFTキーを押しながら印刷したい最終シートを選び、その状態で印刷ボタンを押すと先頭から最終シートまで印刷してくれますが、これではダメでしょうか?
もし、もっと違うことをお望みであればブック及びシートの構成を補足願います。
この回答への補足
説明が不足していて申し訳ございません。
エクセルで作成した日報には日付欄があって、
通常は空欄のものを印刷し、これを1ヶ月分
の31枚をコピー機でコピーしており、製造日報
なので手書きで日報を作成しています。
日報の日付の部分だけでも1ヶ月分自動印字
されないものかと思っています。
宜しく御願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- プリンタ・スキャナー 印刷ができない 6 2022/04/01 20:47
- Excel(エクセル) 【マクロ】プリントスクリーンした画像をエクセルに貼付して印刷したい 6 2022/11/30 20:11
- プリンタ・スキャナー 緊急です。コピーも印刷もできません。 EP-802Aです。コピーしようとして印刷ボタン押しても何も印 6 2023/07/19 14:59
- Visual Basic(VBA) エクセル365のVBAで困っています。どう修正したらよいか添削をお願いします 2 2023/05/03 17:35
- Excel(エクセル) セルによって印刷するシートを変える方法 EXCEL-VBA 2 2022/08/01 20:48
- プリンタ・スキャナー Wordで作った宛名ラベルを印刷しようと思って、プリンターの上のところにある、手差しトレイ的なところ 3 2022/11/17 18:40
- Excel(エクセル) 【Excel】複数シートがあるエクセルデータで片面印刷と両面印刷設定がシートごとに入 1 2023/03/10 15:25
- プリンタ・スキャナー 家庭用コピー機でコピーした時に、原本に透かしが入ることってありますか? 6 2022/05/16 21:39
- Visual Basic(VBA) VBAで不特定枚数印刷をしたいです。 4 2022/08/02 07:30
このQ&Aを見た人はこんなQ&Aも見ています
-
外出時に「待たせる妻」vs イライラする「待つ夫」は日本だけ?見習いたい海外事情
夫の家事参加に積極的なイメージのある海外でも、同様の事例はあるのか。結婚カウンセラーの佐竹悦子さんに伺ってみた。
-
日付だけを変更して印刷(Excel)
Excel(エクセル)
-
エクセル 日付 指定 連続印刷
Excel(エクセル)
-
1ヶ月分の日付を一度に出す方法はありますか?
その他(パソコン・スマホ・電化製品)
-
-
4
日誌を作るため印刷時に日付をずらしたい
その他(Microsoft Office)
-
5
エクセル 平日のみ連絡印刷
Excel(エクセル)
-
6
エクセルで日付連続印刷
Excel(エクセル)
-
7
今日の日付の範囲を指定して印刷する方法について。
Excel(エクセル)
-
8
EXCELで1ヶ月分の連続した日付をシート名+セルに表示させたい
Excel(エクセル)
-
9
土日祝を省いた印刷
Excel(エクセル)
-
10
複雑なシフト表から1日ごとの出勤者、シフトを抜き出したいです
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルファイルを開く時、常...
-
エクセルの一部のセルの背景色...
-
マクロで印刷→セルの値から部数...
-
エクセル印刷時 一枚の書類に...
-
エクセルの行タイトルを特定の...
-
エクセルのマクロで複数シート...
-
エクセルで行番号、列アルファ...
-
1ヶ月分の日付を一度に出す方法...
-
Excel 特定のシートを印刷不可...
-
エクセルで複数のシートの1枚目...
-
エクセルでのヘッダーをページ...
-
Excelでシートを複数シート選択...
-
EXCELで複数のシートを同時に印...
-
エクセルで複数のシートを同じ...
-
エクセルで、ヘッダーに他のシ...
-
エクセルのシート名を印刷した...
-
祭の祝儀 掲示・集計ソフト
-
【Excel】複数シートがあるエク...
-
エクセルのページ設定を他のペ...
-
エクセルの表になってる名簿か...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルファイルを開く時、常...
-
エクセル印刷時 一枚の書類に...
-
エクセルの一部のセルの背景色...
-
エクセルの行タイトルを特定の...
-
1ヶ月分の日付を一度に出す方法...
-
エクセルで複数のシートの1枚目...
-
Excel 特定のシートを印刷不可...
-
エクセルでのヘッダーをページ...
-
マクロで印刷→セルの値から部数...
-
エクセルのマクロで複数シート...
-
エクセルで行番号、列アルファ...
-
エクセルで複数のシートを同じ...
-
エクセルでシートの色がグレー...
-
EXCELで複数のシートを同時に印...
-
エクセルのシート名を印刷した...
-
条件によって印刷するシートを...
-
エクセルの複数シートをNアップ...
-
エクセルで、ヘッダーに他のシ...
-
カラーで一括印刷したいです
-
EXCELで宛名だけ連続変更...
おすすめ情報