• ベストアンサー

VBAの印刷について教えてください

私は、VBAを始めて、まだ3日目の初心者ですので、詳しく教えて下さい。 エクセルの1つのブックの中にシートが10枚あるのですが、シートに印刷ボタンを表示して、ボタンを押したときに、シート1,4,5の印刷ボタンと、また、違う印刷ボタンを押したときにシート2.3、6が印刷されるようにしたいと思っていますので、よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • mitsu-s
  • ベストアンサー率25% (7/27)
回答No.2

前の方の言う通りマクロの記録で動作を記録してからソースコードを加工する方法が一番簡単だと思いますよ。 Private Sub 1つ目のコマンドボタン名_Click() ActiveWindow.SelectedSheets.PrintOut Copies:=1 Sheets("シート名1").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1 Sheets("シート名4").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1 Sheets("シート名5").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1 End Sub Private Sub 2つ目のコマンドボタン名_Click() ActiveWindow.SelectedSheets.PrintOut Copies:=1 Sheets("シート名2").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1 Sheets("シート名3").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1 Sheets("シート名6").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1 End Sub こんな感じでどうでしょう?

m-happy-t
質問者

補足

あと少し教えてください。 ユーザーホームのボタンとコマンドボタンは違うのですか。 違うのでしたら、コマンドボタンの作成を教えてください。

その他の回答 (3)

  • mitsu-s
  • ベストアンサー率25% (7/27)
回答No.4

>ユーザーホームのボタンとコマンドボタンは違うのですか。 >違うのでしたら、コマンドボタンの作成を教えてください。 ボタンは 簡単に言うと、 ボタンはクリックした時にマクロが実行されるように割り当てる。 コマンドボタンはコントロール自体にマクロを記述する。 というイメージになるのでしょうか。 で、作成方法は、 「表示」-「ツールバー」-「コントロールツールボックス」にチェックを入れます。 表示されたコントロールツールボックスの中からコマンドボタンをクリックし、シート上へ配置します。 作成したコマンドボタンをダブルクリックすると、 Visual Basic Editorが起動され、 Private Sub CommandButton1_click() End Sub と表示されます この Private Sub Command… から End Sub の間に 自分が処理したいコードを書き込みます。 ちなみに、CommandButton1_click()というのは commandButton1 という名前のコマンドボタンを クリックした場合に End Sub まで記述してある コードを実行します。

m-happy-t
質問者

お礼

ありがとうございました。 私は、初心者ですので、詳しく書いてくれてましたので助かりました。

  • sgh
  • ベストアンサー率61% (75/121)
回答No.3

>シートに印刷ボタンを表示して、印刷は出来ないのですか。 メニューから「表示」「ツールバー」「フォーム」をクリックすると、ツールバーが出てきます。 ボタンらしきアイコンをクリックして、シート上に配置すると、「マクロの登録」画面が出てきますので、作成したマクロを登録してください。 ちなみに、オートシェイプにもマクロは登録できます。

m-happy-t
質問者

お礼

ありがとうございました。 本よりわかりやすかったです。

  • sgh
  • ベストアンサー率61% (75/121)
回答No.1

こんなのでいかがでしょうか? Sub Print145() Sheets("Sheet1").Select ActiveWindow.SelectedSheets.PrintOut Sheets("Sheet4").Select ActiveWindow.SelectedSheets.PrintOut Sheets("Sheet5").Select ActiveWindow.SelectedSheets.PrintOut End Sub EXCELの場合は、マクロの記録を使って、動作をコード化してもらい、不要なところを削除するのが簡単です。

m-happy-t
質問者

補足

早速試してみました、印刷は出来たのですが、出来れば下記のようにしたいのですが、教えてください。 シートに印刷ボタンを表示して、印刷は出来ないのですか。

関連するQ&A

専門家に質問してみよう