• ベストアンサー

エクセルでSheetからSheetへの飛ばし方

n-junの回答

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.2

シートが5枚しかなく、左から1~5であり、一番右のシートに蓄積するとする。 1~4のシートには結合セルがなく、1行目は項目であり、蓄積時には 1行目だけ項目行をおく。 蓄積シートの一番右にシート名をつける。 を条件とし、おおざっぱなら、 Sub test() Dim i As Integer Dim r As Range Dim rr As Range Set rr = Worksheets(Worksheets.Count).Range("A1") For i = 1 To Worksheets.Count - 1 With Worksheets(i) If i = 1 Then Set r = .Range(.[A1], .Cells(Rows.Count, "A").End(xlUp)) Set r = r.Resize(, .Cells(1, Columns.Count).End(xlToLeft).Column) Else Set r = .Range(.[A2], .Cells(Rows.Count, "A").End(xlUp)) Set r = r.Resize(, .Cells(1, Columns.Count).End(xlToLeft).Column) End If End With r.Copy rr rr.Offset(, r.Columns.Count).Resize(r.Rows.Count).Value = Worksheets(i).Name Set rr = rr.Cells(r.Rows.Count, "A").Offset(1) Next End Sub ではどうでしょうか?

noa8998
質問者

補足

備品管理のシステムを作っているのでシートは全部で9枚あります。左から検索シート、A、B、C、D、蓄積シート、編集、ラベル、返納書です。蓄積シートには一番左に飛んできたシート名、飛んできたシートの通し番号、飛んできた各項目(区分,機能別分類,品目類,取得年月日,品名,規格等,購入単価,購入先,廃棄年月日,保管場所,取得区分)が入るようにしたいです。 ちなみにA,B,C,DのSheetは左に通し番号,区分,機能別分類,品目類,取得年月日,品名,規格等,購入単価,購入先,廃棄年月日,保管場所,取得区分 が入っています。毎回毎回丁寧にありがとうございます。

関連するQ&A

  • エクセルで 1つのシートにデータを入力しておき、

    エクセルで 1つのシートにデータを入力しておき、 別のシートで そのデータを抽出する場合 どのように設定すればいいか教えてください。 たとえば、データのシートには 会員番号、名前、会費残高 が一覧になっており、 会員個人あてに 会費残高表を 送付したいときに、 一人ずつ 入力するのではなく、 会費残高表のひな型を作っておいて、データシートの一覧の人が、順番に印刷できるような・・ 以前、使ったことがある(誰かが作ってくれた)ので、可能と思います。

  • Excelのブック内のシート名を順番に表示させる

    類似の質問を探していろいろ試してみたのですがどうしてもうまくいかなくて・・・教えてください。 ブック内にシートが複数枚あるとします。 最初の1枚目のシートは一覧表となっておりそのシートのセルA1から順にA2、A3…と下に表が続いています。 セルA1には2枚目のシート名が自動的に入力される セルA2には3枚目のシート名が自動的に入力される というようにブック内にあるシート名を順番に セルに表示入力できる方法はありますか? ちなみにVBAはほとんど触ったことはありません。 よろしくお願いします。

  • EXCELで全てのシートを参照した一覧表の作成方法

    色々な情報を入力したSheetが50枚あり、 あまり手間のかからない方法で、 この50枚の中で、ある特定のセルの情報だけを参照させて一覧にした表を作成したいと思っています。 具体的には、Sheet名が”一覧表”というシートを作成し、 この”一覧表”シートの B1 セルには Sheet1 の A1 セルの値を表示させ、 次いで、同”一覧表”シートの B2 セルには Sheet2 の A1 セルの値を、 次いで、同”一覧表”シートの B3 セルには Sheet3 の A1 セルの値を、                       ・                       ・                       ・ 最後に、同”一覧表”シートの B50 セルには Sheet50 の A1 セルの値を、 といった形で、一覧表を作成したいです。 ご教示いただけますでしょうか。 よろしくお願いいたします。

  • Excel シート間の連動を簡単にできませんか?

    こんばんは。 例えばですが Sheet1,Sheet2,Sheet3 というシートを作ったとします。 このときに, 4枚目のシートには,それぞれを一覧にして表示したいと思います。 どういうことかといいますと Sheet1~3はそれぞれ同じフォームです。 例えば番号がA1に1,2,3とそれぞれ入っていて A2に名前を・・・Aさん,Bさん,Cさんと書くとします。 このときに,4枚目のシート(仮に「一覧」というシート名にします)では A1に1,B1に2,C3に3 A2にAさん,B2にBさん,C2にCさんというように 各シートの同じ場所のデータを表示させたいのです。 ここで私が知っている方法としては 一覧シートのA1の部分で「=Sheet1!$A$1」などと入力する 又はシートをクリックする形で連動表示させる方法があります。 ただ,この方法ですと 連動する回数だけ関数を入れなければなりませんよね。 例えば今回の場合はそれぞれのシートごと(Sheet1)の情報が 縦列につながっているので ひとつのシートから1個連動させたらあとはコピーしていけば 順番に連動はされると思います。 ただ,この方法では,もし連動させたいセルが離れている場所の場合, ドラッグするだけでは全然違う情報が連動されています。 各シートから一覧シートに引っ張ってくるセルの場所は同じですが それが全部順番につながっているわけではありません。 結局,一覧シートでSheet1を上手にひとつずつクリックで連動させたあと, 連動させた範囲を選択して,右にドラッグすると 同じようにSheet1の連動になってしまいます。(セルの場所は良いのですが) なので,連動の式の「Sheet1!」の1の部分を2に変えることで とりあえずSheet2の連動に変化させている状態なのですが もっと簡単な方法はないのでしょうか。 連動してくるシート名自体をセル参照させることはできないのでしょうか。 やはり連動してくるシートの名前自体を式で指定することはできないのでしょうか。 大変分かりづらい説明で申し訳ございませんが 補足はしっかりさせていただきますので どうかよろしくお願いいたします。

  • Excel、複数シート同セルを別シートで列に表示するいい方法教えてください

    Excelで、複数シートの同セルに数値又は、文字が入力されているものを別シートの列に表示(反映)させるいい方法を教えてください。 ・sheet1は、一覧表(sheet名):纏めるsheet ・sheet2~は、各物件名(sheet名) となっています。 例) sheet2~sheet4のA1セルに数値、B2に文字が入力されていたとします。 それを、sheet1(一覧表)のB2、B3、B4とC2、C3、C4にそれぞれ表示させたい。以下参照。    A    B   C 1 物件名  件数 有・無 2 北海道  10   有 3 青森   15   無 4 岩手   20   無 ・sheet1(一覧表)には項目、物件名は入力済です。  データのみ反映させたい。 ・sheetは、左から順番に並んでます。  (北海道、青森、岩手の順に) ・集計するわけではないので、最終行には合計とかはいりません。 ------------------------------------------------------------- また、できるかどうかわかりませんが、 sheet1(一覧表)を修正したらそれぞれの物件(sheet2~)も修正される。というような、画期的なこともできるのでしょうか? こちらは、上記が出来た上でのことなので、出来なければ出来ないで構いません。 どうぞ、よろしくお願いいたします。

  • エクセル:データをシートに飛ばす方法

    データが入力された一覧表から、ある条件にあてはまるデータだけ、別のシート(または別のブック)に飛ばしたいのですが、どうすればいいでしょうか? また飛ばした方のシートでも、元の一覧表と同じフォーマットの一覧表に降順に飛ぶように設定したいのですが可能でしょうか?

  • エクセルで複数のワークシートを1枚に印刷したい

    3個の表を含む書類の様式があります。エクセルで作ってあるのですが、それぞれの表のセルのデザインが非常に違っているので、それぞれの表が別々のワークシートに1個づつ作ってあります。 これを印刷する時に合成して、1枚の紙に印刷したいのですが、どうすれば良いでしょうか。 よろしくお願いします。

  • エクセルで、シートごとの計算結果を別の表にする方法

    同じ形式のデータシートが100枚ぐらいあり、このシート上で計算をした結果が10個ほどあります。この結果の一覧表(100×10)を作り、グラフを作成する必要があります。 このとき、一覧表の先頭のセルにシート名とセルの番号を計算式としていれて、つまんで引っ張り100までカウントアップして計算式を入力させたいのですが、うまくいきません。いちいち入力するのは邪魔くさいので、いい方法があれば教えてください。 VBAはよく分かりませんが、解決するならやってみますのでよろしくお願いします。

  • エクセルでsheet1のデータをそのままsheet2に移す時

    sheet1のデータをsheet2の対応するセルにそのまま移そうと思い、sheet2のA1に  =sheet1!A1 と入力しそれを表全体にコピーしました。 この方法だとsheet1にデータが入力されているセルはそのままデータが移りますが、sheet1にデータが入力されていないセルでは、対応するsheet2のセルに0が入力されてしまいます。 データのないセルをそのまま空白にしておくには、どうすればよろしいでしょうか。

  • エクセルシートについて

    添付の画像を参照願います。 シートAの表-1のデータをシートBの表-2に貼りつけたいのですが、 列と行が逆の為、一個一個のセルを選んでコピーしています。 表-2は次の行に表―1のB、となりに5という数字を、表―1のB列のデータを飛ばせたいのです。 何か簡単に出来る方法が有れば教えて頂けないでしょうか。 よろしくお願い申し上げます。