• 締切済み

Excelの印刷マクロについて

Excelにて、1枚のシートに他のブックの全てのシートの名称を記述し、選択したシート全てを印刷するマクロを組みたいと考えています。 数日前から考えているのですが、検討が付かず困っています。 何方かご教授願えれば幸いです。 よろしくお願いします。

みんなの回答

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.2

どういう作業の段取りを考えているのですか?イマイチ不明です。 たとえば。 1.(どこにあるか不明の)複数のブックの全てのシート名をマクロで調査記述させたい?   それとも既にリストアップは完了しているところから始めたい? 2.リストを手動でコントロール+クリッククリック等しながら飛び飛び選択したい? 3.選択したセルのシートを次々印刷したい(これは明らかなようです) 1については既出回答もありますし,既にリストアップは出来ているものとします。 2については手作業です。 ただし,作成したリストには必ず「ブック名.拡張子」と「シート名」が列記されているとします。仮にA列とB列に。 ブックの保存場所は既知であるとします。(仮にC:\test\内) Sub macro1()  Dim h As Range  Application.ScreenUpdating = False  On Error Resume Next  For Each h In Application.Intersect(Range("A:A"), Selection.EntireRow)   With Workbooks.Open(Filename:="c:\test\" & h)    .Worksheets(h.Offset(0, 1).Value).PrintOut    .Close False   End With  Next  Application.ScreenUpdating = True End Sub

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

一例です。 このマクロを書いたBOOKが保存されているフォルダー内のBOOKを対象にします。 マクロを書いたBOOKのSheet1に転記します。 拡張子はxlsとします。 Sub test01() Application.ScreenUpdating = False '画面更新を一時停止 Set mb = ThisWorkbook 'このコピー先ブックをmbとする。 myfdr = ThisWorkbook.Path fname = Dir(myfdr & "\*.xls") 'フォルダ内のExcelブックを検索 Do Until fname = Empty '全て検索 If fname <> mb.Name Then 'ブック名がこのブックの名前でなければ Set wb = Workbooks.Open(myfdr & "\" & fname) 'そのブックを開きwbとする。 For Each ws In wb.Worksheets n = n + 1 mb.Sheets("Sheet1").Cells(n, "A").Value = ws.Name 'シート名転記 mb.Sheets("Sheet1").Cells(n, "B").Value = wb.Name 'ブック名転記 Next ws End If wb.Close (False) '閉じる fname = Dir 'フォルダ内の次のExcelブックを検索 Loop '繰り返す Application.ScreenUpdating = True '画面更新一時停止を解除 MsgBox n & "件のシート名をコピーしましました。プリントします。" ActiveWindow.SelectedSheets.PrintOut End Sub

関連するQ&A

  • エクセル マクロで印刷

    こんにちは、いつもお世話になっております。 毎月作業していて何とかならないかと思い立った作業が2つあるのですが当方では全く歯が立たたない要求ですのでHELPです。 1.1つのBookの複数のシートの印刷 エクセルBookの複数のシート名の一覧表を「Sheet1」に目次のように作って、そのシート名を選択(☑や「印刷」等入力)すると指定したシートが印刷されるようにしたいのですが。 選択するシートは任意の複数枚。 シートを選択しての印刷は出来るのですが、できれば一覧表からの選択で印刷できるようにしたい。 2.エクセルBookのSheet 1に、他の複数のBookのフルパスが入っている目次にチェックを入れると任意の複数枚のシートが印刷される。 複数のBookの複数シート名指定で印刷出来れば最高です 1.2どちらか1つでもHELP頂けたらありがたいですので宜しくお願い致します。 尚、この作業は月報用、つまり月一回の作業なので当方にとってあまりハードルが高いようならすぐに諦めますのでご回答者様に失礼になるかもしれませんのでご了承下さい。 最近眼が著しくしょぼくなってきておりまして、出来るだけ頑張りますのでご容赦ください。

  • エクセルでデータがあるシートだけ印刷するマクロ

    エクセルのマクロで印刷するマクロを使っていますが、5つある ワークシートを全て選択して印刷するマクロでこれをデータ(数値)が 入っているワークシートだけ印刷するマクロにしたいのですがどのようにすればいいのでしょうか?

  • 複数ブックの印刷マクロを作成したいと思っています。

    2つのフォルダがあり、その中に20のブックがそれぞれあります。 20のブックの中にはシートが4つづつあり、シート3とシート4のみ印刷したい。 1つのフォルダでは あまり詳しくありませんのでお知恵をお借りしたいと思います。 まず、フォルダの中にある複数ブックの印刷を一括で管理できるマクロは可能なのでしょうか。 二つのフォルダの中に20個のブックがあり、その中にはそれぞれ4シートあるExcelファイルで構成されています。 毎回シート3とシート4のみの印刷をブックの数だけ行います。 40ブックを開け、約80シート印刷するのを簡素化できないかなと思っております。 まず Aフォルダの中 20のブックの中にはシートが4つずつあり、それぞれシート3は全て印刷。 ブック15~19のみシート4は印刷しません。 要約しますと ブック1~14とブック20はシート3.シート4を印刷 ブック15~19はシート3のみ印刷 Bフォルダも同様 ブックそれぞれにマクロシートがあればいいかなと思っているのですが。。。 PC環境はXPです。その他重要なソフトが入っているのであまりマクロが重い場合は諦めようかなと思っています。 簡単に印刷できるようなら教えていただけると幸いです。 初心者なのでコピペでOKぐらいにしていただけますと助かります。 よろしくお願いいたします。

  • Excelのマクロ初心者です

    Excelのマクロ初心者です 同じBookでセルA1に”1”が入力されているSheetのみ全て印刷する マクロを教えてください!

  • 印刷マクロ【エクセル】エクセルからワードを印刷する

    タイトルの件、質問します。 下記の条件で、エクセルを開き、下記の3つの書面を 印刷する、マクロはできますか?? ●エクセルブック【Sheet1】【Sheet2】 ●ワード【文書1】 ※ワードは開いていません。閉じたまま。 ※ワードとエクセルブックは同じフォルダ内にあります。 ご存知の方、いらっしゃいましたら、宜しくお願いいたします!!

  • excelマクロ記述

    EXCELのBOOKがあり、n枚のシートを含んでいます。 Macro1という名称のマクロで、 そのBook内のすべてのシートにMacro2というマクロを実行させる という場合、Macro1はどのように書けばいいのですか。 次次にシートを開くという操作をどう表すか? このMacro2では、例えばシートの文字の表示を75%のサイズで表示のようなものを考えています。 またそのときmacro2は、何か記述の追加が必要ならそれはどのようなものか。 よろしくお願いいたします。 Sub Macro1( ) ' Macro1 Macro ' 次次とシートを開き、75%サイズにする xxxxxxxx Sub Macro2( ) ' Macro1 Macro ActiveWindow.Zoom = 75 End Sub End Sub

  • マクロで自動印刷

    マクロを使用して印刷を行う場合の マクロを教えていただけないでしょうか? 1つのエクセルブックに、 『あ』と『い』と『う』の3個のシートがあります。 それぞれ印刷範囲設定済みです。 マクロボタンをすでに作成済みで ・ シート『あ』と『い』と『う』印刷ボタン ・ シート『あ』と『い』印刷ボタン ・ シート『う』のみ印刷ボタン があります。 それぞれのボタンの、マクロを教えていただけないでしょうか。 宜しくお願いいたします。

  • Excelマクロで置換

    Excelマクロで置換 セルA1に6桁・スペース・24桁の数字が入っています。 最初の6桁に130,397,430,440が含まれているシートを選択 そのシートの中に "ああああ"があったら"ああああい"に "いいいい"があったら"いいいいう"に "うううう"があったら"ううううえ"に と置換をするマクロを書きたいと思っています。 置換する対象の文字列は多いので別マクロで作成し呼び出したいと考えています。 シートは1ブックに30シート程。何シートあるかはブックによって変わります。 現在マクロの記録を使って試行錯誤しているのですが なにぶん初心者なのでなかなかうまくいきません。 どなたかご教授頂ければと思います。

  • マクロについて

    教えてくださいm(__)m Excel2000です。 マクロでコトを簡単にして作業したいとおもうのですが、 (マクロ初心者です) たとえば、ツール→マクロ→新しいマクロの記録 で、操作した内容を記録するマクロで、 作成したマクロは、そのシートでしかつかえないのでしょうか?同じブック内なら大丈夫ですか? そのマクロを他のシートとかブックでつかうには なにか操作が他に必要ですか? visual basic editor の画面でなにか記述しないとだめですか? たとえば、ほかのブックやシートで使うには どのような操作をするのでしょう?具体的に 説明してもらえたらうれしいのですが。。

  • エクセルマクロでご教授下さい。

    エクセルマクロでご教授下さい。 1.あるマクロをセルを入力(Enter)したら実行するには どのように記述すればいいでしょうか? 例えばG12に文字を入力しEnterした時 に実行したい。 2.あるマクロをシートを選択した時に実行するには どのように記述すればいいでしょうか? 以上宜しくお願い致します。

専門家に質問してみよう