• 締切済み

VBAで印刷プレビューを閉じる時に別シートに移動したい

エクセルで、 (1)入力画面(シート1) (2)印刷用画面1(シート2) (3)印刷用画面2(シート3) と1つの入力シートから2つのシートへ値をリンクさせ 表示しているものを作りました。 入力画面に「印刷ボタン1」「印刷ボタン2」を作成し、 「印刷ボタン1」を押すと、(2)印刷用画面1の印刷プレビューを表示するように ボタン押下のイベントに Sheets(シート2).Select ActiveWindow.SelectedSheets.PrintPreview と記述して、印刷プレビューを表示するようにしました。 その後、印刷プレビュー画面にて「閉じる」を押したり、ESCを押すと、 シート2が表示されます。 これをシート1の入力画面に移動させたいんです。 印刷プレビューを閉じた後に入力画面に戻りたいのですが、 どうしたらよいのか分かりません。 「印刷プレビューが閉じた」というイベントを取得する方法が あるのかも調べきれず、どうしたらいいのか困っています。 解決する方法がありましたら教えて下さい。

  • GPEX
  • お礼率100% (3/3)

みんなの回答

回答No.1

「印刷ボタン1」押下のイベントを、 Sheets("Sheet2").PrintPreview だけにすればよいと思います。

GPEX
質問者

お礼

ありがとうございました。 その通りですね。 自分でアクティブにしてますね。 なんだか難しく考えすぎてました。 ありがとうございました!

関連するQ&A

  • エクセルのマクロで印刷プレビューを閉じる方法

    印刷プレビューをだすなら PrintPreviewでわかるのですが、表示されたプレビュー画面を、自分で「閉じる」または「印刷」ボタンを押さなくとも閉じるにはどう書けばいいのでしょうか?

  • 指定する曜日の時に特定のエクセルファイルを印刷

    Sub 印刷() ' ' Macro1 Macro ' マクロ記録日 : 201X/X/X ユーザー名 : AAAA ' ' If MsgBox("実行する場合はOK、間違ってこのボタンをクリックした場合はキャンセルをクリックしてください。(日付確認後、印刷のこと。)", vbOKCancel) = vbCancel Then End End If 'A印刷 ChDir "L:\フォルダB\X\新規" Workbooks.Open Filename:="L:\フォルダB\X\新規\記録表\工程分析.xls" Sheets("毎日印刷").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True Sheets("月曜日印刷").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True Sheets("火曜日印刷").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True Sheets("水曜日印刷").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True Sheets("木曜日印刷").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True Sheets("金曜日印刷").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True Sheets("土曜日印刷").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True Sheets("日曜日印刷").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True  ActiveWorkbook.Save ActiveWindow.Close あるエクセルファイルのボタンに上記のVBAが記入されています。 そのボタンを押すと「工程分析.xls」ファイルの各シートを自動印刷して保存するVBAです。 ボタンが設置されているシートのK1には「TODAY()」の式が入っています。これは当日の日付を自動で表記する様になっています。 質問ですがボタンを押すと毎日印刷シート+K1に記入されている日付の曜日のシートのみを印刷するVBAはどの様にすれば良いでしょうか? 例えば今日(2016年9月10日)で言うと土曜日なのでボタンを押すと工程分析.xlsファイルの毎日印刷シート+土曜日印刷のみ出力されると言う事です。 明日(2016年9月11日)は日曜日なのでボタンを押すと工程分析.xlsファイルの毎日印刷シート+日曜日印刷シートのみが出力される形です。 よろしくお願いします。

  • エクセル 指定したページのみ印刷プレビュー

    Sub PrintPreview() Dim i As Byte Dim r As Range For Each r In Selection i = r.Value ActiveWindow.SelectedSheets.PrintPreview From:=i, To:=i Next End Sub 標題の通りシート内に31ページ分印刷範囲のデータがあります とびとび印刷したいのですが よくできませんでした。 どこなの列に印刷したいページ番号を入力し、そこを範囲で囲み指定した番号のページのみ印刷をかけたいです。 よろしくお願いします。 例  C1からC5まで 2 5 10 14 25 の印刷ページ番号を入力し C1~C5を範囲で囲みマクロ実施後 プレビューに移行したい。

  • excel vba 印刷部数設定

    excel 2002を使用しています。 マクロで印刷および印刷プレビューせずに、印刷部数を設定する方法を探しています。 ActiveWindow.SelectedSheets.PrintOut Copies:=1, Preview:=True  ではプレビューしてしまいます。 ActiveWindow.SelectedSheets.PrintOut Copies:=1  では印刷してしまいます。 印刷およびプレビューしない方法はないものなのでしょうか。 よろしくお願いします。

  • エクセルのマクロの記述について

    VBA初心者ですのでどうか詳しく教えてください。下記のマクロをエクセルで組んだのですが・・・ -------------------------------------------------------------------- Sub hideworksheets() Worksheets("sheet1").Visible = False End Sub Sub ボタン_Click() ActiveWindow.SelectedSheets.PrintOut Copies:=1 Sheets("sheet1").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1 Sheets("sheet2").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1 Sheets("sheet3").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1 Sheets("sheet4").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1 End Sub ------------------------------------------------------------ 1.上記設定で"sheet5"という別シートにボタンを設置した場合、このボタンを実行すると、シート1~4のほかにシート5まで印刷されてしまいます。シート5を印刷したくない場合のVBAの記述について教えてください。 2.「Sub hideworksheets()  Worksheets("sheet1").Visible = False    End Sub」    の箇所で、シート1を非表示にしたいのですが、このマクロを実行時、「Sub ボタン_Click()」以下のマクロを実行しようとすると、「実行時エラー1004 worksheeクラスのselectメソッドが失敗しました」のエラーがでてしまいます。シート1を非表示にし、無事印刷のマクロを実行する為の記述を教えてください。

  • コマンドボタンの表示が

    エクセルでコマンドボタンにより印刷プレビューを表示して,閉じるを クリック後,他のコマンドボタンの表示がおかしくなります。 (コマンドボタンが拡大しています) 原因と解決方法を教えてくださると嬉しいです。 Private Sub CommandButton2_Click() ActiveWindow.SelectedSheets.PrintPreview End Sub

  • VBAで困っています・・・

    エクセル2003なのですがユーザーフォームにコマンドボタンをおき クリックすると印刷プレビューが表示され印刷設定をしてから印刷という流れにしようと思っていたのですが、ボタンをクリックすると印刷プレビューが表示された状態のまま、操作不能になりました・・・。 ActiveWindow.SelectedSheets.PrintPreview と記述しただけなのです、どう対処すればいいかわからないので、 対処法や記述の補足または記述の間違いの指摘など教えていただけないでしょうか? お願いします。

  • エクセルVBA、MsgBOXで入力した2つのシート番号で挟まれたシートをすべて消去したい。

    マクロ自動記録で複数シートのDeleteを試してみると、   Sheets(Array("Sh20", "Sh19", "Sh18")).Select   Sheets("Sh18").Activate   ActiveWindow.SelectedSheets.Delete となって、シート名を個別に指定する必要が出てくる。 シートの左から18枚目から20枚目とか、15枚目から40枚目とか MsgBOXで入力した2つの数字で指示したいのですが、良い方法はありませんか? ちなみに、MsgBoxでA=15,B=40を入力して、   mysh = A   For Sh=1 to B-A+1   Sheets(Array(mysh)).Select   ActiveWindow.SelectedSheets.Delete   next とやったら、シート1枚消すごとに、 「データがあります。消してよいですか?」のメッセージが出てきて、 作業が面倒です。 一括して消す方法がないでしょうか?

  • VBAエクセルにて印刷

    こんにちわ。教えてください。VBAでActiveXコントロールをクリック したのち、印刷のプレビューを表示したら、MegBoxメッセージを表示 させ ”はい””いいえ”を選択したいのですがうまくいきません。 ちなみに下記のプログラムです。 Private Sub 印刷_Click() ActiveWindow.SelectedSheets.PrintPreview Dim ans As Integer ans = MsgBox("印刷しますか?", vbInformation + vbYesNo, "確 認") Select Case ans Case vbYes Application.ActivePrinter = "Canon iR C3080/C3580 LIPSLX on Ne05:" ExecuteExcel4Macro "PRINT(2,1,1,1,,,,,,,,2,,,TRUE,,FALSE)" Case vbNo MsgBox "故障履歴印刷をキャンセルします。" End Select End Sub 以上なんですがプレビュー後に”印刷しますが”が聞いてきません。 どうすればいいですか?

  • Excelの印刷時にプレビューが出る現象が!

    エクセルのシートを印刷しようと思い画面上のプリンタのボタンを クリックしたところ、印刷プレビューが表示されてしまいます。 先日までは印刷ボタンを押せばプレビューは表示されず印刷物が出てきたのですが、 (オフィスではない)ソフトをインストールしてからこのような現象がおきるようになりました。 原因は何なのでしょうか?やはりソフトのインストール? 今まで通りプレビューを表示させずに印刷する方法はあるのでしょうか? プレビュー画面から印刷することはできるのですが、 出す必要のないプレビューが毎回出てきて、大変気になります。。。

専門家に質問してみよう