マクロ初心者です。 不躾ながらもう自分ではどうにもならないと思ったのでこちらに相談します。 現状下記で連続印刷の処理をしているのですが、
マクロ初心者です。 不躾ながらもう自分ではどうにもならないと思ったのでこちらに相談します。 現状下記で連続印刷の処理をしているのですが、 同時に「スポットPL」シートも連続印刷をしたいと思っております。 しかしその作業は従来のものに条件があり、どう組めばいいか分からず途方に暮れています。 どなたか御助力頂けたらと相談させて頂きました。 条件 AJ1:AJ21に"〇"がついている番号のみ印刷したい Sub ドライバーチェックシート() 'セルに値を設定しながら連続印刷する 開始と終了をセルで指定する '定数 Const conStrR As String = "AM2" '開始 セル番地 Const conEndR As String = "AN2" '終了 セル番地 Const conStep As Long = 1 '間隔 Const conCell As String = "AL1" '値変更セル番地 '変数 Dim i As Long With Application .ScreenUpdating = False With .ActiveSheet For i = .Range(conStrR) To .Range(conEndR) Step conStep .Range(conCell).Value = i Sheets("スポット").Select Sheets("スポット").Activate ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _ IgnorePrintAreas:=False Next End With .ScreenUpdating = True End With Sheets("入力頁").Select End Sub
Excel・52閲覧
ベストアンサー
以下のようなものですかね?解釈が違っているようなら、ごめんなさい。 Sub ドライバーチェックシート() 'セルに値を設定しながら連続印刷する 開始と終了をセルで指定する '定数 Const conStrR As String = "AM2" '開始 セル番地 Const conEndR As String = "AN2" '終了 セル番地 Const conStep As Long = 1 '間隔 Const conCell As String = "AL1" '値変更セル番地 '変数 Dim MySh As Worksheet Dim i As Long ''基本シートを設定する。 Set MySh = Sheets("入力頁") ''「スポット」シートを印刷する。 ''但し、AL列セルが「〇」の場合、「スポットPL」シートを印刷する。 For i = MySh.Range(conStrR).Value To MySh.Range(conEndR).Value Step conStep MySh.Range(conCell).Value = i ''「スポット」シートを印刷する。 Sheets("スポット").PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False ''「スポットPL」シートを印刷する。 If MySh.Cells(i, "AI").Value = "〇" Then Sheets("スポットPL").PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False End If Next MySh.Activate ''変数を開放する。 Set MySh = Nothing End Sub ※余計な一言 ・提示のコードを「入力頁」で実行するのであれば、「MySh」変数関係のものは、デフォルト扱いになりますので、なくてもできます。
質問者からのお礼コメント
お早い回答にもかかわらず、お礼が遅くなってしまい本当に申し訳ございませんでした。 早速実行してみたところ、思ったように出力してくれてとっても助かりました! 心よりお礼申し上げますm(__)m ※もありがとうございます。実行ページをころころ変えていたら、恥ずかしながらそのまま忘れていました(-_-;) 本当に本当にありがとうございます!
お礼日時:5/23 9:25