[[20150402104748]] 『特定セルに印刷するシートを入力して印刷』(ぽぉぉ) ページの最後に飛ぶ

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

 

『特定セルに印刷するシートを入力して印刷』(ぽぉぉ)

最初に入力専用のシートがあり、それを反映している印刷専用のシートとして1〜20枚ぐらいあります。
入力専用シート内の特定セルにシート番号を入力することで印刷をさせたいのですが、やはり先にシート番号でのボタンを1〜20個設けた状態でないと無理でしょうか?
誰かご教示願います。

< 使用 Excel:Excel2013、使用 OS:Windows7 >


 セルに入れる番号から印刷すべきシートのシートが特定できれば、マクロは1つでOKですよ。

 1 なら 印刷シート1 、2なら 印刷シート2 、
 あるいは 1 なら左から 1番目(あるいは2番目)、2 なら左から2番目(あるいは3番目)

 といった具合になっていれば。

(β) 2015/04/02(木) 10:57


 特定のセルが A1 だとして、印刷専用シートのシートモジュールにマクロを置いた例です。
 シート名が間違っているとエラーになりますので、印刷シートの入力は間違わないよう
 に印刷シートの選択リストにするなどにしておいた方が良いかと思います。

 Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.AddressLocal = "$A$1" Then
        If Target.Value = "" Then Exit Sub
        If MsgBox(Target.Value & "を印刷しますか?", vbYesNo, "印刷") = vbYes Then
            Worksheets(Target.Value).PrintOut
        End If
    End If
 End Sub

(Mook) 2015/04/02(木) 11:13


(Mook) 様
回答ありがとうございます。
お恥ずかしながらシートモジュールにマクロを置いた場合の動かし方が分かりません。
併せて教えていただけると助かります。
標準モジュールにマクロを置いてボタンに登録というやり方しかやったことがありませんでした。。。

(ぽぉぉ) 2015/04/02(木) 11:27


 印刷専用シートのタブを右クリックで、コードの表示で開いた場所にコードを置き、
 A1 に印刷したいシート名を入れてみてください。
(Mook) 2015/04/02(木) 11:29

(Mook)様
ありがとうございました!出来ました!丁寧に教えて頂き感謝します。
(ぽぉぉ) 2015/04/02(木) 11:35

(Mook)様
度々申し訳ありません!
A1に選択リストを設定し、1を選択して印刷したところ、入力専用シートが印刷されてしまいました。
2を選択すると、1のシートという風にシートを頭から数えて印刷しているようになっています。
何度も申し訳ありませんが、どう訂正したらよいでしょうか?(>へ<。)
(ぽぉぉ) 2015/04/02(木) 12:12

 印刷用のシート名は数値になっているのですか?
 WorkSheets(CStr(Target.Value)).PrintOut
 のように修正してどうでしょうか。

(Mook) 2015/04/02(木) 12:39


(Mook)様
 WorkSheets(CStr(Target.Value)).PrintOut と修正させていただき、
思うように印刷することが出来ました!
ご指導ありがとうございました!
(ぽぉぉ) 2015/04/02(木) 13:16

コメント返信:

[ 一覧(最新更新順) ]


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