• ベストアンサー

エクセルのシートの使い方

お訊ねします。 エクセルにおいて1枚のシートに連番(枝番)を振って、印刷したいと思っています。 具体的にはヘッダー右上(セルでもOK)に何らかの方法で001から100までを順番に振って連番で1枚ずつ印刷したいということになります。この場合、ワークシートを1から100までの100枚を作らないとならないでしょうか? それとも関数を使用したり、もう1枚シートで001から100までの連番を振って、参照することにより1枚のシートで対応することはできますでしょうか? ご教示の程、宜しくお願い致します。

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

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

>これを0001というように印刷することは可能でしょうか? マクロではなく,セルの書式設定の表示形式のユーザー定義で 0000 と設定しておくなどで。 >アクションを入れて印刷したいのですが可能でしょうか 回答済みです。 再掲: >マクロを自作すれば,同様の事をプログラムに書いて登録しておき,何度も利用する事も出来ます。 >ボタン ご利用のエクセルのバージョンが明記されていませんので,具体的にこのメニューを選んでここをクリックしますと,手順をお話しするのは困難です。 とは言え実際には「ボタン」は何を使って作れますので,例えば。 1.「ボタン」を配置する  ・オートシェイプで図形を描く  ・インターネットのリンクバナーのようなカッコヨクデザインされたGIFやJPG画像をシート上に配置する  ・フォームのボタンを作成する  ×コントロールツールボックスのボタンは使わない 2.右クリックしてマクロの登録を開始する   現れたダイアログで新規作成をクリックする 3.マクロプログラムを記入する画面が現れるので,先に試したマクロを記入する 作成例: Sub 楕円1_Click() dim i for i=1 to 100 : range("A1") = i : activesheet.printout : next i End Sub 以上です。 #大概のことはやってみてもエクセルがぶっ飛んで壊れてしまうような事はありませんから,色々手を動かして試してみてください。  上手く行かなかったら,「ここまで判ったので実際にやってみた」「ここをこうしたらこんな具合に上手くなかった」とあなたが実際にやってみたことの事実を添えて,また遠慮無く追加ご相談を投稿してみてください。  お話ししている内容は,本当に触りだけの初歩の初歩の部分です。現実には色々と上手く行かない問題に,次々遭遇します。 #とは言え,なんだかやっぱり即効性のある特効薬に食い付いた感じですね。もしマクロの作り方の「ゼロから説明」が必要なときは,書店に行って「初めてのエクセルVBA」とかそういったのを少し立ち読みして,もしよければ気に入った参考書を買って少し基本的なところを独学してみてください。  どの参考書でも最初のところは大概一緒ですが,そこの最初の3章分ぐらいをここの掲示板の限られた回答スペースで全部説明するのは不可能です。

yota2007
質問者

お礼

ご回答いただき、ありがとうございました。 早速実践して満足するものが出来ました。

その他の回答 (2)

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

ALT+F11を押す 現れた画面でCtrl+Gを押す 現れた小さいウィンドウに for i=1 to 100 : range("A1") = i : activesheet.printout : next i と書き入れてEnterすると,A1に1から100の数字を入れて連続印刷します。 マクロを自作すれば,同様の事をプログラムに書いて登録しておき,何度も利用する事も出来ます。 >参照することにより1枚のシートで対応することはできますでしょうか? いいえ,エクセルでは目に見えている物しか印刷できません。 つまり,ページ1と書かれた一枚を印刷するにはページ1と記入された(それがセルでもヘッダフッタでも)1枚が無ければいけませんし,ページ100と書かれてた一枚を印刷するにはやはりページ100と書かれた何かを準備しなければなりません。 ページ番号をヘッダ/フッタに取り付けてからワークシートを100枚作成(単純にシートコピーで倍々に複製していけば,8回ほどマウスを動かすだけの操作です)し,作業グループや印刷対象範囲をブックにして一気に印刷することで,ページ1から100まで通しの印刷を出せます。通常はこれが最も簡易で,何も悩みの無い方法です。 1枚のシートの中の表を「縦に」複写し(オートフィルドラッグコピーで,2分もあれば簡単にできます),その際に数式で「一つ上の表のセルの番号+1」の式を入れておけば,ヘッダフッタのページ番号では表現できない複雑な連番も簡単に100枚準備できます。 どんな手間も絶対に掛けたくないのでしたら,エクセルはやめてワードの差し込み印刷を利用しても,綺麗かつ簡単に作成できます。 また絶対にエクセルしか使いたくないのでしたら,ネットをちょっと探してみると「エクセルで差込印刷」といったフリーウェアが多数あります。

yota2007
質問者

補足

早速のご返信ありがとうございます。 実際にやってみたところ、限りなくイメージに近いです。 そこでさらに質問なのですが、実際は0001から0100と4桁連番にしたいと思っております。しかしいただいた内容で0001 to 0100と4桁入力しても0001ではなく1と認識されます。(当然かもしれませんが) これを0001というように印刷することは可能でしょうか? また、すぐに印刷されずに登録しておいて、何かもう1アクションを入れて印刷したいのですが可能でしょうか?(例えばボタンを配置するなど)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

エクセル2007でしたら「表示」のタブの「ブックの表示」グループにある「改ページプレビュー」をクリックします。これでシート1つでもデータの量に応じて数多くのページに分かれて印刷できることが判ります。 表示を標準にしてから「ページレイアウト」タブの「ページ設定」グループの右下隅の矢印をクリックして「ページ設定」の画面を出し、「ヘッダー/フッター」のタブからページの下側にページを表示したいのなら[フッターの編集」からページの設定位置などを設定することができます。これで連番のページ設定が可能となります。ページが振られるシート上での方向は「シート」タブで設定することになります。 最後に「印刷プレビュー」で確認してから印刷を開始するとよいでしょう。

関連するQ&A

  • 他のエクセルシートの参照について

    エクセルについて教えて下さい。 例えば、1.xls(参照元),2.xls(使用エクセル)という2つの シートがあり、1.xlsには1列に1から順番に連番が振られていて この連番の最終番号を取得して、2.xlsに表示させたいのですが どのようにすればいいのでしょうか?

  • Excelの関数について

    ワークシート1(工程参照)とワークシート2(オプション参照)の2つのワークシートがあり、そのいずれにも機番と言う項目があります。(P057VD152のように記載されています。) ワークシート1(工程参照)にワークシート2(オプション参照)の機番を貼り付けて、その2つのセルを比較し同じ機番のみを抽出したいのですが、Excelの関数を使用して出来るでしょうか。 Excelの関数については最近、本を購入して多少読んだ程度です。 説明がうまく出来ないのですが、宜しくお願いします。

  • エクセルでシートの参照先を調べたい

    エクセル2000です。 特定のセルの参照先なら、メニューの「ツール」から「ワークシート分析」で調べられますが、これは、ひとつずつ、セルをアクティブにしていかないと調べられません。 アクティブにしたシート(または選択したセル範囲)のどこかのセルを、他のシートのどこかのセルが参照しているかどうかを一度に調べる方法はないでしょうか?

  • エクセルのヘッダーでページ番号に枝番を付けるには

    ヘッダーの横方向にページ番号、縦方向に-1、-2、-3と枝番を付けたいです。 現在はドキュワークスのページ番号機能を使用していますが、 ページを分離させ番号を振り、再度結合させるという手間がかかるので、 エクセルだけで完結できないかなと思い質問しました。 さらに条件として ・枝番は2または3をブックによって使い分けたい(同一ブック内は同じ枝番数です) ・横方向のページ番号は複数シートに渡って通し番号にしたい。  (できれば合計-1、合計-2、合計-3と文字の後ろにも枝番がつけられるといいですが、   難しければ合計だけはドキュワークスでやります) ・表示場所はヘッダー右上 ・できればフォントサイズも指定したいです 画像はセル=印刷範囲のイメージです。 分かる方がいらっしゃいましたら、ご教授願います。

  • EXCELで別シートのセルを参照する場合について

    EXCELで別シートのセルを参照したいのですが… 参照先のセルの行が飛び飛びのため、数式をどのようにしたらよいかわからず困っています。入力するセルの数も大量のため、一つ一つ参照入力するには手間がかかりすぎるため、何かしらの関数で対応できないでしょうか。 具体的には シートAのM8~CE8 に、シートBの G50 J50 M50 P50…と3列ごとに参照した数字を返したいのです。 どなたかご教示いただけますと幸いです。 よろしくお願いいたします。

  • エクセルで新規シートを挿入したときに

    エクセルのブックで1~5までシートがあったとして、1には2~5の各セルの合計を入れ、各2~5の合計が出るシートを1に作っていきます。 その際に作られてるシートのセルの参照は可能なのですが、新たにシートを追加して(6.7.8.....)行く場合に自動的にシートが追加され、値が入ったら1の合計のシートに何も追加作業をせずに、数値が足されていくような関数、もしくは方法はありますでしょうか? やはり、シートを足していくごとに1のシートの関数を変更していかなければ不可能でしょうか? また、簡単な作業方法などがあれば教えていただければうれしいです。 よろしくお願いいたします。 使用ソフトはエクセル2000です。

  • エクセルでif関数を使って、別シートにある数字と現在のシートにある数字

    エクセルでif関数を使って、別シートにある数字と現在のシートにある数字が一致したら、 OK、一致しなかったNGという関数を組んでいます。 数字はあっているのに、NGという結果がかえってきます。 参照先:sheet1のN3 比較もと:sheet2のN3 =IF(N3='sheet1'!N3,"OK","NG") どうしたら良いでしょうか。 どなたがご教示くださいませ。

  • EXCEL:引数のシート参照を動的に変更したい

    EXCELでこのようなことができるでしょうか? (1)シート1~シート10まで同じフォーマットの入力表があります。 (2)シート11に印刷帳票が作ってあります。帳票の各セルはvlookup関数でシート1~10のそれぞれの該当セルを参照するようになっています。 このとき、出力帳票シートのどこかにリスト型の入力規則で、1~10までのシート番号を入力できる項目を作っておき、それを使ってvlookup関数の引数にあるセル 参照を動的に変更できるでしょうか? たとえば、  VLOOKUP(C5,'シート1'!L10:N40,3) といった関数を、  VLOOKUP(C5,'シート1'!L10:N40,3)        ↓  VLOOKUP(C5,'シート3'!L10:N40,3) といったふうに変更できるとうれしいのです。 よろしくご教示ください。 おねがします。

  • エクセルのワークシート間のデータ共有について

    教えてください。エクセルなんですが、ワークシート1のセルA1にデータを入力し、ワークシート2のセルB2にそのデータが出るように、関数を埋め込んでいます。そこまでは良いのですが、そこからワークシート2のセルB2に新しくデータを入力して、ワークシート1のセルA1に反映させることは出来るのでしょうか?分かりづらく申し訳ありませんが、イメージとして現在データ入力をA→Bとなっているところを、A<=>Bにしたいのです。

  • エクセル シート 関数

    エクセル2003にて、シート番号の関数についてです。 現在sheet1(0)をコピーして必要分だけsheet1(1)、sheet1(2)としています、 日によってsheet1(50)ぐらいまで作成することがあります、これを利用して=IF(ISERROR(INDIRECT("'Sheet1 (1)'!c3")),"-----",INDIRECT("'Sheet1 (1)'!c3"))このような関数を管理シートで使用しています。 問題として関数内のsheet1(1)が連番なので表作成時(1)の部分の1を連番として2、3・・51、52と関数内でsheet1(51)自動で入力するための関数を教えください。

専門家に質問してみよう