エクセルで分類のある住所録をそれぞれの分類毎のフォームに飛ばして印刷されるしくみを作成中です。
「分類毎にシートに分ける」でnishi6さんに教えていただいたVBAで作っているのですが、マクロで実行かけて一括で印刷までさせてしまわずに、1件ずつ表示させながら、印刷("次を表示→印刷"の繰返し)させていきたいので、アドバイスをお願い致します。
分類は、5つです。現在、アクティブシートの印刷のVBAは分かったのですが、各シートに飛んだ後、それを表示させる事と、次を表示させる事が出来ません。
どうか、宜しくお願い致します。
No.1ベストアンサー
- 回答日時:
方法1.今のまま、印刷プレビュー(PrintPreview)にしておいて、プレビュー画面で確認して、印刷する場合は「印刷」ボタン、印刷しない場合は「閉じる」ボタンを押す方法はどうでしょうか。
方法2.各シートに飛んだときにメッセージボックスを表示するようにしてみました。前回のVBAの後半部分を修正、追加してみて下さい。(行の後ろに '*** がある行です)
「ok」で印刷(今はプレビュー)して次のデータを表示、「キャンセル」で次のデータの表示を行います。
メッセージボックスの表示位置が制御できないので画面の真中に出てしまいます。じゃまな感じもします。ユーザーフォームなら画面表示位置を指定できるので勉強してみてください。
'各シートに飛ばす(Sheet2から。Sheetは連番)
Dim rw As Long '行カウンタ
Dim br As Integer '各データの分類
Dim ws As Worksheet '印刷をするシート
'Application.ScreenUpdating = False 'シート表示を固定 ***コメント行にした
With ws1.Range("A1")
For rw = startRow To lastRow '指定した範囲を印刷
br = .Offset(rw, BunruiCol) + 1 'シート番号を求める
Set ws = Worksheets("Sheet" & br) 'シートを決定
For cl = 0 To columnMax '1行分目的のシートに書く
ws.Range("A1").Offset(0, cl) = .Offset(rw, cl)
Next
ws.Activate
If MsgBox("印刷しますか?", vbOKCancel, "確認") = vbOK Then '***追加***
'PrintPreview を PrintOut に変えれば印刷を実行
ActiveSheet.PrintPreview
End If '***追加***
Next
End With
'Application.ScreenUpdating = True 'シート表示の固定解除 ***コメント行にした
ws1.Activate 'Sheet1を表示
ありがとうございました。ここまで出来たら後は、いろいろ勉強して飾り付けをしていきます。nishi6さん本当に、いろいろとありがとうございました。
今回の回答で、ようやくこの辺でこういう処理をさせているのだなぁ!?という程度ですが分かってきました。nishi6さんのおかげです。私ももっと勉強して、いろいろ作っていきたいと思います。実践あるのみですね!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのマクロで複数シートを両面印刷するには? 2 2022/12/08 23:23
- Excel(エクセル) セルによって印刷するシートを変える方法 EXCEL-VBA 2 2022/08/01 20:48
- Visual Basic(VBA) VBAで不特定枚数印刷をしたいです。 4 2022/08/02 07:30
- Excel(エクセル) Excelであるシートだけ印刷できない 1 2022/04/01 09:04
- Visual Basic(VBA) エクセル365のVBAで困っています。どう修正したらよいか添削をお願いします 2 2023/05/03 17:35
- Excel(エクセル) エクセルで”入力シート”の文字書式の変更を”出力シート”で同じ文字書式で印刷したいです。VBA希望 4 2023/04/24 11:07
- Excel(エクセル) エクセル表作成についてお分かりになる方教えて下さい。 10項目程度のエクセルデーターを一件、一件、デ 9 2022/05/28 14:53
- Excel(エクセル) 【Excel】エクセルの1シートが2枚に分割されてしまうので印刷プレビューを押して閉 4 2022/12/13 13:12
- Excel(エクセル) エクセルシートのPDFでの保存 2 2022/09/06 13:05
- オープンソース OpenOffice Calc basic で印刷プレビューを表示する方法 1 2023/04/15 12:43
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルファイルを開く時、常...
-
エクセルの一部のセルの背景色...
-
マクロで印刷→セルの値から部数...
-
エクセルのマクロで複数シート...
-
【Excel】複数シートがあるエク...
-
エクセル 出納帳印刷時の繰越...
-
エクセル 改ざん防止のため ...
-
エクセルで行番号、列アルファ...
-
1ヶ月分の日付を一度に出す方法...
-
エクセルで横置きのシートにペ...
-
EXCELで複数のシートを同時に印...
-
エクセル印刷時 一枚の書類に...
-
条件によって印刷するシートを...
-
Excel 特定のシートを印刷不可...
-
エクセルで横長の表を一枚に印...
-
特定のセルに数値が入っている...
-
エクセルでシートの色がグレー...
-
エクセルで同一シート上にA3とA...
-
Excelファイルを複数選択して、...
-
Excel等、同一の大きさでページ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルファイルを開く時、常...
-
エクセルの一部のセルの背景色...
-
エクセル印刷時 一枚の書類に...
-
1ヶ月分の日付を一度に出す方法...
-
マクロで印刷→セルの値から部数...
-
エクセルの行タイトルを特定の...
-
エクセルのマクロで複数シート...
-
Excel 特定のシートを印刷不可...
-
エクセルで複数のシートの1枚目...
-
エクセルでのヘッダーをページ...
-
エクセルでシートの色がグレー...
-
エクセルで行番号、列アルファ...
-
条件によって印刷するシートを...
-
EXCELで複数のシートを同時に印...
-
エクセルのシート名を印刷した...
-
エクセルで複数のシートを同じ...
-
エクセルで、ヘッダーに他のシ...
-
EXCELで宛名だけ連続変更...
-
Excelであるシートだけ印刷でき...
-
エクセルの複数シートをNアップ...
おすすめ情報