• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル マクロで印刷)

エクセル マクロで印刷

HohoPapaの回答

  • HohoPapa
  • ベストアンサー率65% (455/693)
回答No.2

まずは1つ目の印刷機能 1枚目(つまり」先頭)のシートの2列目(B列)の3行目から下方向に 空白セルが無く、シート名が並んでいるという条件、 更に、印刷対象かどうかは、シート名のセルが選択されているかどうかで判定。 (つまり、任意の複数セルを選択可能ということ) という使い方を想定してコードを書いてみました。 よかったらテストしてみてください。 使い勝手がよければ、 1つ目をベースに2つ目の印刷機能を書いてみます。 Sub Sample1()  With ThisWorkbook.Sheets(1)     Const DataCol = 2 'シート名の埋まっているセルたちの列番号   Dim RowCounter As Long      RowCounter = 3    'シート名の埋まっているセルたちの開始行   Do    If .Cells(RowCounter, DataCol).Value = "" Then Exit Sub    If IsSelect(Range(.Cells(RowCounter, DataCol), _             .Cells(RowCounter, DataCol))) = True Then     ThisWorkbook.Sheets(.Cells(RowCounter, DataCol).Value).PrintOut _      Copies:=1, Collate:=True, IgnorePrintAreas:=False    End If    RowCounter = RowCounter + 1   Loop  End With End Sub Function IsSelect(Rng As Range) As Boolean  If Application.Intersect(Selection, Rng) Is Nothing Then   IsSelect = False  Else   IsSelect = True  End If End Function

akira0723
質問者

補足

Hohopapa-さん、おはようございます。 早々に実ファイルで試してみました。 いつも通り1発で完璧に期待通り(以上)に動きました。 1つだけ抜けていた要求を追加させてください。 マクロの最後は「印刷ダイアログ」(プリンターの選択と設定)になるようにお願します。 過去のコードから下記を試行してみましたが、これもいつも通り却下されました。 Application.Dialogs(xlDialogPrint).Show 下のコードとバッティング?するようです。  Copies:=1, Collate:=True, IgnorePrintAreas:=False

関連するQ&A

  • エクセルの複数シートの印刷方法

    エクセルの1つのブックに複数のシートがあった場合、その中の選択したシートのみを印刷することは可能なのでしょうか? または、ブック全体を選んで印刷しても、任意のシートは印刷しないようにする方法などあるのでしょうか?

  • エクセルの分割印刷

    エクセル2003の印刷についてなのですが。 1シートで表を作ったのですが、これを任意の範囲を選択して 複数のページに分けて印刷をしたいのでその方法を教えて下さい。 よろしくお願いいたします。

  • エクセルの複数ブックをまとめて印刷したい

    お世話になります。 早速ですが、フォルダ内に複数のエクセルブックがあります。それらのブックには複数のシートがあります。 フォルダー内の複数のブックの複数のシートも含むものを一括印刷したいのですが可能でしょうか? フォルダー内を一括選択し、ファイルの印刷をした場合、 複数のブックを印刷することは可能なのですが、それらにあるはずの複数のシートが印刷されません。 「複数のブックの全てのシートも含むものを一括印刷」したいのですができるでしょうか? よろしくおねがいします。

  • エクセル2000での割り付け印刷について

    エクセル文書をプリントアウトするとき、ブック全体を割り付けで印刷する方法はあるのでしょうか。 1シートにつき、A4・2ページの文書で、全部で約30シートが1つの文書です。 これを、シートごとにA41枚に収まるように印刷したいのですが、割り付けで2ページとし、ブック全体を印刷、というように指定すると、最初のシートだけが割付となり、その後のシートは普通にA4に1ページずつ印刷されます。 複数のシートを選択した状態でやっても、そのとき開いていたページしか割付になりません。 シートごとに開き、プリントアウトするしかないのでしょうか?大変な時間がかかってしまうのですが……。 よろしくお願いいたします。

  • EXCELで複数のシートの印刷の仕方

    教えて下さい。windows98でoffice2000を使用してます。EXCELで複数のシートを5部ずつぐらい印刷したいのですが、思うように印刷されません。教えて下さいm(__)m bookにシートが4枚あります。4枚とも5部ずつ印刷かけたいのですが■印刷設定画面から印刷を「book全体」にして部数を5部にする。■シートを作業グループにして「選択したシート」を選択して部数を5部にする。それぞれ試してみたのですが各シート1枚ずつしか印刷されませんでした。結局分からなくて今は1シートずつ部数を設定して印刷しています。60シートぐらいあるのでとても大変です。何かシートの設定とかあるのでしょうか?教えて下さい。

  • EXCELのマクロでワードファイルを開きたい

    いつもお世話になります。初心者ですのでよろしくお願いします。 WORDで50種類くらいの帳票を作成しました。一つのファイルに50ページあるのではなくて、50のファイルに一つずつ帳票を作成しました。また、EXCELでこれらの帳票の目次を作成しました。これは1枚のシートに50の帳票のタイトルが一覧表となっています。このエクセルの目次シートから必要なタイトルを選択するとそれに該当する帳票のワードファイルが開くようにしたいのですが、マクロでなんとかなりませんでしょうか? EXCEL2000、WORD2000を使用しています。補足、お礼は明日になりますが、よろしくお願いします。 わかりづらい説明で申し訳ありません。

  • 選択した複数ブックのシート1すべてを印刷するには?

    お世話になります。 現在、EXCELにて顧客管理の表を作成しているのですが、ブックの数が顧客人数分の200ほどあります。 それらのシート1に顧客に配布する予約確認表があるのですが、選択した任意のブックのシート1を一度に印刷できないかと思っています。 そこで現在考えている方法は、作成したシート1全体を、外部参照などの方法で新しいブックにリンクさせ、新しいブックにすべての顧客の予約表をいれるのはどうかと考えています。 単なるコピーではダメな理由は、途中で変更があった場合に参照元を変更したら参照先も自動で変更されるようにしたいのです。 これが出来れば通常の印刷のページ指定である程度選択したシートのみ一度に印刷が可能です。 マクロでも結構ですので簡単に全ての参照元のブックのシート全体を新しいブックへ外部参照する方法があれば教えて頂けたらと思います。 もしくは、「指定したフォルダに入っている任意のブックのシート1をすべて印刷する」といったプログラムが出来るならそれでも大丈夫です。 あくまでも目的は任意のブックのシート1を一度に印刷をかけるという事ですので何か良い方法がありましたらお願いいたします。

  • EXCEL マクロ

    エクセルマクロ初心者です。 エクセル2007で、複数選択したセルの合計値・平均値をコピーできないか悩んでいます。作業によって、選択するセルが変わりますので、セル番地の指定をせずにマクロの書くことができますでしょうか。 イメージとしては、複数のセルを選択をしたときに、ステータスバーにオートカルクで表示される合計値・平均値をクリップボードにコピーし、別のセルに結果をペーストする感じ(ペーストする際に合計値・平均値のどちらを貼り付けるか選択できれば尚、良)です。 個人用マクロブックに登録して、不特定ブックで使用したいマクロです。よい方法があれば教えて下さい。

  • エクセルVBA 一覧にあるブックを順に印刷するには

    こんばんは。ブック名の一覧の中から指定したものを順に印刷をしていく方法を教えてください。 D10から下にブック名が書いてあります。 その横(C列)に“印刷”と入力してあるブックのシートすべてを順に印刷をしたいと思っています。 ただし、シート名に「保存」という名前を含んだものについては印刷対象から除きたいというわがままなものなのです。 ブックはすべてマクロ実行のファイルと同じフォルダの中にあります。 これ、可能でしょうか?よろしくお願いします。

  • エクセル上の縦長の表を特定の範囲で複数のシートに分ける方法を教えて下さ

    エクセル上の縦長の表を特定の範囲で複数のシートに分ける方法を教えて下さい。 当方、下請けの仕事でエクセルの資料をお借りしたのですが 同じ表(A4サイズの印刷設定有り)が縦に並んでおり 1シートに10ページから25ページの表があります。 ファイルも7ブックあり、1ブックに2シートのものや、4シート、5シートのブックもあります。 普段は下請けも少なく自社のデータで仕事しているのですが 仕事上、データを更新するのに1日に3、4ページ分の表しか更新しませんし 更新作業の入力も外注に発注しているので、データの確認や 必要な表のページ数を指定して印刷など、非常に手間が掛かってしまいます。 ひとつひとつ切り取り、貼り付けをしていましたがこれも手間が掛かってしまいました。 マクロの知識がないのですが、マクロで解決できないでしょうか。 使用しているのはExcel2003です。 借りた資料の表は1ページが 「9列・31行」のA4縦サイズが縦に繋がって並んでいます。 宜しくお願い致します。