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

エクセル マクロで印刷

HohoPapaの回答

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

後記コードでいかがでしょうか。 なお、シート名の埋まったセルを選択していない場合には メッセージを表示するようにしてみましたが セルに埋まったシート名が見つからない場合のエラーは考慮していません。 2つ目の要求については、 どのように動作すればいいのか、 もう一度整理し、スレッドを分けたほうがいいんじゃないかと思います。 特に、 あとから追加要求のあったダイアログの表示や とりわけ、 対象エクセルブックが複数シートだった場合に >複数のBookの複数シート名指定 このシート名の指定をどのようなインターフェースで指定することを考えているかなどです。 Option Explicit Sub Sample1()  With ThisWorkbook.Sheets(1)     Const DataCol = 2 'シート名の埋まっているセルたちの列番号   Dim RowCounter As Long   Dim PageCnt As Long   PageCnt = 0     '初回判定用カウンター   RowCounter = 3    'シート名の埋まっているセルたちの開始行   .Select   Do    If .Cells(RowCounter, DataCol).Value = "" Then Exit Do        If IsSelect(Range(.Cells(RowCounter, DataCol), _             .Cells(RowCounter, DataCol))) = True Then     PageCnt = PageCnt + 1     If PageCnt = 1 Then      ThisWorkbook.Sheets(.Cells(RowCounter, DataCol).Value).Select      Application.Dialogs(xlDialogPrint).Show     Else      ThisWorkbook.Sheets(.Cells(RowCounter, DataCol).Value).PrintOut _       Copies:=1, Collate:=True, IgnorePrintAreas:=False     End If    End If    .Select    RowCounter = RowCounter + 1   Loop    End With  If PageCnt = 0 Then   MsgBox "シート名の埋まったセルが選択されていません"  End If   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
質問者

お礼

早々のご対応に感謝です。 補足に記載抜けましたが、一度エクセルを閉じれば使えるので、取り敢えずこれでOKです。 修正版はお時間のある時で結構です。(当たり前!ですが) 次の月報は毎月末ですので?? (シッカリ納期?ではありませんので誤解無きように) 2番目の課題はご指摘の通り別の質問にします。 これが出来れば課題1は不要の気がします。 が、いきなり2番目では(当方にも)難しいかと思い2段階にしたのですが。。。 1.が出来る人には同じ事、ですかね???? <予告編> A列にファイルのフルパス、B列の横のセルに「シート名」をイメージしています。 (限定しない方が良いかと思い記載しませんでした)

akira0723
質問者

補足

毎度です。 朝一で確認しました。 目次の「Sheet1」のシート名もシートの場所、入力セルの位置の変更も出来ることを確認しました。シート名を選択しなかった場合(確かに有り得ます)のエラーメッセージを含めこれ以上何を望むことが有ろうか!という感じです。 とまで書いて、ふとよくやる、シートの選択間違いや、選択忘れが有るので再度エクセルに戻って印刷ダイアログでキャンセルをしてみたら、下記の2つのケースが出ました。 よって、お礼から補足に転記しました。 1.最初の1枚目のみ印刷中止されて、2枚目以降印刷されてしまう。 2.何度か試行していたら、一度は印刷がキャンセルされる(ように見える)のですがVBAがエラーで止まっており「継続」をクリックすると印刷が開始されてしまいます。 1.と2.の状況がどう違うのか確認していませんが(既にかなり印刷してしまっているので)先ず症状がご理解いただけますでしょうか? 1.2の状況が不明の場合再度詳細なケース分けして報告しますので宜しくご検討ください。

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

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

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

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

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