• ベストアンサー

エクセルの印刷指定

お世話になります。 エクセルのシートが10枚あるとします。 Sheet1の名前は「指定表」Sheet2以降は「1枚目・・・9枚目」と変更してあります。 VBAで「指定表」のA1に「1」と入力しマクロの登録ボタンを押すと、「1枚目」が出力され、以下「2」と入力し登録ボタンを押すと「1枚目」と「2枚目」が出力される、「3」なら「1~3枚目」が出力される。 と言うように入力された数値の値のシートの枚数が出るようなマクロをご教示ください。

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

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

例えばこんなマクロでも可能です Sub Macro1() Dim idx As Integer If IsNumeric(Sheets("指定表").Range("A1").Value) Then   For idx = 2 To Sheets("指定表").Range("A1").Value + 1     If idx <= Worksheets.Count Then       Worksheets(idx).PrintOut     End If   Next idx End If End Sub でも質問は「たとえば」で書かれているように感じますので、実際には修正が必要かもしれません。それはご自身でお願いします。

syuuchan
質問者

お礼

お忙しい中、ご回答ありがとうございます。 確かに質問では単純化するために、「たとえば」で書きましたが、このご解答で充分対応可能です。

その他の回答 (1)

  • hiro2803
  • ベストアンサー率50% (20/40)
回答No.2

一例としては次のようになります。この subPrintOut() を呼び出して下さい。 -----ここから Sub subPrintOut() Dim i As Integer For i = 1 To ThisWorkbook.Worksheets("指定表").Cells(1, 1) ThisWorkbook.Worksheets(i & "枚目").PrintOut Next End Sub ----ここまで 注意点としては、シート名「n枚目」のnに使う数字は半角でなければ動きません。また、9枚目までしか作成していないのに指定表シートに10と入力した場合にもエラーが出て停止しますので、セルの入力規則などでシート名に指定した数値より大きな数値が入力できないように工夫して下さい。

syuuchan
質問者

お礼

お忙しい中、ご回答ありがとうございます。 注意点を参考にVBAの完成度を高めて行きたいと思います。

関連するQ&A

  • エクセルマクロ印刷時にプリンタを指定できますか?

    エクセル2002を使用しています。VBAはまったくわかりません。 マクロの自動登録で印刷を記録すると、通常使うプリンタから 出力されるようですが、LANでプリンタ複数使用可能な環境です ので、いちいち通常使うプリンタを変更するのではなく、マクロ 実行時にプリンタを選択したく思います。  因みに、以下のマクロはSheet1に値を入力し、Sheet1の値をコピー したSheet2を印刷するというマクロです。このマクロのどの部分に コードを付け加えればプリンタをこのマクロ実行時に選択可能でしょうか? もしくはマクロではプリンタを選択できないのでしょうか? どうぞよろしくお願いいたします。 ****************************************************************** Sub 印刷() Sheets("Sheet2").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True Sheets("Sheet1").Select End Sub *******************************************************************

  • EXCEL VBA シートの名前を指定してコピー

    EXCEL VBA 初心者です。 とても困っています。 助けてください。 excel2010を使っています。 今,「原本」というシートがあり,それをマクロを使って同じブック内にコピーしたいと思っています。 コピーして新しく作られたシートの名前は「A1」のセルに入力されている値にしたいです。 コピーされた後のシートにはマクロボタンは削除したいと考えています。 また,コピーした後のアクティブシートは「原本」のシートにしたいのですが これを全部いれたコマンドはどのようになるのでしょうか。 似たような質問だったり,回答があるのですが, どのように組み合わせたらいいのかよく分かりません。 どなたかお助けいただけないでしょうか。 よろしくお願いします。

  • エクセルの印刷について

    MS office97を使用しています。 エクセルの印刷について 教えて下さい。 「シート2」表を作成しています。 「シート1」の「A1」の入力されている数字が 1 であれば 「シート2」の表を1部印刷 「シート1」の「A1」の入力されている数字が 2 であれば 「シート2」の表を2部印刷 と云うように、指定された通りに 印字出来る マクロなどは 組めないのでしょうか???? 出来るのであれば 教えて下さい。

  • マクロ 印刷及び印刷プレビューについて

    Excelのブックに3つ(「目次」「入力用」「出力用」)のシートを作成しております。 ツールの印刷ボタン又は印刷プレビューボタンを押した時に、その内の一つ(「出力用」)のシートのみを印刷又は表示したいのですが、そのようなことは出来るのでしょうか? できればマクロの登録をして使うボタン?は使いたくありません。 よろしくお願いいたします。

  • エクセル 同じ数値を赤字

    だれか教えてください!! 数字データが縦横びっしり入力されているエクセル表で、同じ行に同じ数値があった場合、その数値、全部を赤字にするにはどうしたらいいでしょう? または・・・ すでにマクロ登録されているボタンを押すと同じ数値を赤字にできるエクセル表があるのですが、一部を入力し直してもう一度ボタンを押すと赤字にならなくなります。 何回押しても同じ行に同じ数値があったら、同じ数値全部を赤字にするマクロを簡単に編集する方法はありますか? 教えてください。

  • エクセル2010 マクロを実行するボタンの作成

    エクセル2010で、 マクロを実行するボタンの作成方法か、初心者向けのサイトを教えてください。 やりたいことは、 シート1に入力した値が、シート2・3・4・・・の表に反映されて表示される。 (各シートの正しい位置に数値を反映させることは終了しました。) シート1に「シート2印刷」 「シート2印刷」・・・などのよなボタンを作り、ボタンを押すだけで、 シートの印刷を実行させたい。 です、宜しくお願い致します。

  • エクセルVBAでできる?

    こんばんは。大変困った事態発生中です。 エクセルマクロ?VBA?で作るように指示があったのですが (1)エクセルのセルベースではないフォーマットで様々な数値が入力できるシステムを作れ (2)数値を入力したら『登録』ボタンがあり、次の画面へ進む (3)数値を利用して様々な表・グラフを自動作成するシステムを作れ (4)数値をいろんな表に活用及び自動入力されるようにしろ (5)ネット上に立ち上げて、暗証を知る人間のみ閲覧ができるようにしろ (6)その表は一切コピー・保存ができないようにしろ との事で、それをしている人がいるので、短時間(1日)で簡単に作成できる! と言われました。 そんなわけで明日までに仕上げなければいけないのですが、どなたか虎の巻をご存知なら教えて下さい。 また、こうやったら(簡単に)できるんじゃない?という方、どんなささいな事でもいいので教えて下さい。 私は、エクセルは使っている、という程度の人間です。 よろしくお願いします!!!!!!!!!!!!!!!!!!!!!

  • EXCEL VBAで複数シート内のセルをまとめて表を作成

    EXCELマクロ(VBA)を教えてください。 なやんでいることは、 目的:シート1からシート5までの表の値をシート6に一覧表を作成させる。 ・シート1からシート5まで シート内の表からセル値をコピーしてマクロで(ボタンか何かで)シート6にシート1からシート5のセル値を貼り付けていくような動作をさせられるようなプログラムをつくりたいです。    表(一覧)を作成させたいので わかる方プログラミングを教えてください。よろしくお願いします。

  • エクセルでの値の自動代入

    エクセルでワークシートのセルからでもユーザーフォームからでもいいのですが、違うワークシート上の表(列が項目、行が日付)の当日日付のセルにマクロで作ったボタンを押すと値が挿入されるような方法はありますか? アクセスで値の代入のようにできればいいのですが。 マクロでもVBAでもいいのですが、できる方法はあるでしょうか?

  • エクセルで差し込み印刷をしたい。

    エクセルで差し込み印刷のようなことをしたいと思います。 が、少々違うのはラベルのように印刷用の1シートに20人分のデータをまとめて印刷したいです。 データ用のシートにNO、性別、年齢を受験者情報として、数十人分入力します。 それを一覧表の形式にした印刷用シートに出力し、人数÷20ページとして印刷したいです。 また上部に印刷ページ数も出したいと思います。 うまいマクロ、VBAを教えてください。

専門家に質問してみよう