• ベストアンサー

エクセルで複数シートの同じ位置にあるセルを一枚のシートにリンク貼り付けしたい。

初めて質問いたします。 エクセルのブックの中に100枚のシートがあります。 全てのシートの同じ位置のセルのデータ(数字と文字)を 一枚のシートにリンク貼り付けでまとめたいのですが マクロで できるのでしょうか。 どのように書けばいいのか分からず困っています。 よろしくお願いいたします。

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

  • ベストアンサー
noname#52504
noname#52504
回答No.4

・どの位置のセルを対象とするのか ・どのシートにまとめるのか がわかりませんし、 ・値の転記ではなくリンク貼り付けで ということなので、 いっそ下記のような関数を定義した方が便利かもしれません。 (少し重くなる可能性がありますが…) 動作の概要  第1引数で指定した番号のシートの、  第2引数で指定したセルと同位置にあるセルの参照を返す。 '----------------------------↓ ココカラ ↓---------------------------------- Function Sample(ByVal シート As Integer, ByVal セル As Range) As Range  Application.Volatile  Set Sample = Worksheets(シート).Range(セル.Address) End Function '----------------------------↑ ココマデ ↑---------------------------------- 例1  任意のシートの任意のセルを   =Sample(3,B4)  とすると、3番目のシートのB4セルの参照が返る。 例2  任意のシートの任意の行のA列目を   =Sample(COLUMN(),$F$3)  として、右方にフィルすると、各シートのF3セルの参照が順に返る。 ※シート番号は、1始まりで左から数えた番号。 ※非表示のシートも数に含める。 ※グラフシートは数に含めない。 以上ご参考まで。

その他の回答 (3)

noname#79209
noname#79209
回答No.3

注意を忘れていました。 このマクロを実行する際は、必ずシート名を羅列するシートをアクティブにした状態で行ってください。 別のシート上で実行すると、そのシート上に書き込まれるので、 必要なデータが上書きされてしまいます。 これを防ぐには、羅列するシート名がSheet1だとすれば、 Sheets("Sheet1").Select を、 Dim x As Integer の次の行に挿入してください。

noname#79209
noname#79209
回答No.2

マクロ(VBA)を使って良いなら http://akubizzz.hp.infoseek.co.jp/sub171.html に以下のマクロがありました。 Sub シート名取得() Dim thisSheet As Object Dim x As Integer '-----vizzarによる追加 ここから Columns("A:A").Select Selection.ClearContents '-----vizzarによる追加 ここまで x = 1 For Each thisSheet In Sheets If thisSheet.Name <> ActiveSheet.Name Then Cells(x, 1).Value = thisSheet.Name x = x + 1 End If Next '-----vizzarによる追加 ここから Cells(1, 1).Select '-----vizzarによる追加 ここまで End Sub シート名を羅列したいシートを選びます(或いは追加)。 Alt+F8を押す。 マクロ名ボックスに「シート名取得」と入力し、「作成」ボタンをクリック。 開いたボックス内に Sub シート名取得() End Sub と表示されているはずなので、 この空いている行に、上記のコードをコピぺします。 ここで、二行目からリストさせたいので、 x = 1 を x = 2 に変更します。 もし、「Sub シート名取得()」と「End Sub」がそれぞれ二重になってしまったら、 一方を削除して、上記コードと同様になるようにしてください。 その後、表示されている、「Visual Basic」のウインドを右上の「×」を押して閉じます。 これで、マクロが設定できましたので、必要な都度、Alt+F8で出てくるパネルで「実行」ボタンを押せばワークシート名がリストされます。 後は、INDIRECT関数で、前回コメントした数式で各シートのセルを参照できます。

cieloxx
質問者

お礼

お礼が遅くなってすみません。 こちらの方法でやってみました。 INDIRECT関数で参照したいセル番号の前に"!"を入力すると言うことに なかなか気づかず苦戦しましたがなんとかできました。 丁寧に教えていただきありがとうございました。 これで今月の集計から時間を短縮することが出来ます。 またよろしくお願いいたします。

noname#79209
noname#79209
回答No.1

要は、まとめる側のシートの100行分の各行に、他のシートの同じ位置のセルをまとめたいと言うことでしょうか? たとえば、 Sheet101のB2にSheet1のK35、C2にSheet1のR58 Sheet101のB3にSheet2のK35、C3にSheet2のR58 といった具合でしょうか? もしそうなら、そしてシート名がSheet1~Sheet100なら、 まとめるシートのA列をワーク列、さらに一行目は表題に使うとして、 A2に ="Sheet"&(ROW()-1)&"!" (もし、Sheet35からSheet134なら、「="Sheet"&(ROW()+33)&"!"」) B2に =INDIRECT($A1&"K35") C2に =INDIRECT($A1&"R58") として、下に99行分コピーすればOKです。 各シート名が非連続だったり単なる文字だったら、面倒ですがA列に各シート名を記入していってください。 B列とC列の数式はそのままで構いません。

cieloxx
質問者

補足

記入はここでいいのでしょうか。。。 回答ありがとうございます。 各シートには別々の名前がついています。 このシートは月ごとに増減があるため、シート名をひとつずつ書くのは難しいです。 左端のシートから、ひとつ右のシート またひとつ右のシート のように順番に読み込むことはできないのでしょうか。

関連するQ&A

  • 離れたセルのリンク貼り付けを行うためのマクロについて

    ブック(1)のシート(1)にある複数の離れたセル(B2,D2,C3,F3,B4:F4)をコピーし、別ブックのシート(1)のセル(B2,D2,C3,F3,B4:F4)へリンク貼り付けを実行するためのマクロを教えてください。 なお、ブック(1)とブック(2)はイントラの共有フォルダ上の同一階層に置いてあります。 このブック(1)と同一フォーマットのブックが複数存在し、上記同様にブック(2)の離れたセルをコピーして別ブックのシート(2)のセルへリンク貼り付け。 続いて、ブック(3)の同じセルをコピーし別ブックのシート(3)へリンク貼り付けと言うように、同じセルをコピーし別シートの同じセルへリンク貼り付けの作業を繰り返し行います。 まったく同じ位置のセルをコピー&リンク貼り付けを繰り返し行いたいので、マクロを使って自動実行させたいと思っています。 離れたセルのリンク貼り付けは出来ないのかもしれないですが、アドバイスを頂けると助かります。 宜しくお願い致します。

  • 複数シートへのリンク貼り付けについて

    エクセルマクロ勉強中です。 シート1のセルA2の値をシート2のセルA1にリンク貼り付け。シート2のセルA2の値を シート3のセルA1にリンク貼り付け。このスタイルでシートを増やして行った時、それぞれのシート間でコピー、リンク貼り付けをしなくても自動的にコピー、リンク貼り付けが出来るマクロがあれば教えて下さい。 又、各シート名を変更してもリンク貼り付けの設定が変わらないように出来るでしょうか?

  • エクセルにリンクの貼り付けについて教えて下さい。

    エクセルにてリンクの貼り付けについて教えて下さい。同じブック内で シート1に勤務表を作成しているのですが、うまくシート2の貼り付けたい箇所にリンク貼り付けができません。。 数字の0がでてきてしまい、元の表にはセルに色ぬりをしているのですが、色などは貼りつかないのでしょうか。。すみませんがよろしく お願いいたします。

  • Excelのシートへのリンク

    Excelのブックにあるシート名をA列のセルに入れてあります。これをシートにリンクさせたいのですが、マクロで簡単にできませんか?現状は、1つ1つ、ハイパーリンクしています。

  • エクセルで特定の複数セルを選択し、別ブックへ一度に「リンク貼り付け」するマクロは?

    エクセルで作成したファイル(1)で、特定の複数セル(連続していないセル)を選択し、まったく同じフォーマットの別ふぁいる(2)へ一度に「リンク貼り付け」する方法があれば教えて頂きたいと思っております。 【BOOK(1) - シート】をコピー ---------------------------------------------------------------- ----------------------   A    B C      D     E FG   H  1 NO    名前   ランク  概要    備考 2 11   あああ      A     ****   ○○○  3 55     いいい     B     ****   △△△   4 77    ううう     C     ****   □□□     ---------------------------------------------------------------- ---------------------- 【BOOK(2) - シート】へリンク貼り付け ---------------------------------------------------------------- ----------------------   A    B C      D      E FG   H  1 NO    名前   ランク  概要    備考 2 11   あああ          ****   3  4       ううう     C     ---------------------------------------------------------------- ---------------------- 列BとC、列EとFとGはセルの結合をしております。 BOOK(1)のセル「A2」「BC2」「BC4」「D4」「EFG2」だけをコピーし、 BOOK(2)の同一セルへリンク貼り付けを行う。 コピーするセルが飛び石のように離れており、2つ以上のセルが結合している列があったりします。 複数のBOOKがあり、すべてのBOOKで上記と同一セルを「リンク貼り付け」する場合に 一度にまとめて実行できるようなVBAやマクロで実現可能な方法があれば教えて下さい。 (勉強も兼ねているため、マクロ記述に補足説明があると助かります) 現在の所、連続しているセルはまとめてリンク貼り付けができるのですが、離れているセルは1つずつ選択して貼り付けております。 この別ファイルへのリンク貼り付け作業が大量にあり、時間がかかるため大変困っております。 御手数お掛け致しますが、何卒よろしくお願いいたします。

  • エクセルの「リンク貼り付け

    今晩は、エクセル(Office 2002)についての質問です、宜しくお願いします。 エクセルでシート間、ワークブック間で、データーを貼り付ける場合に、貼付先のセルに貼付元のセルのセル番地を代入 (「=セル番地」と算式に代入)または、データーそのものをコピーしてやれば、自動的にリンク貼付になり、元のデータ ーを修正した場合は、貼付先のセルの内容は、新しいデーターに更新されます。 しかし、貼付けるときにメニュ⇒編集⇒「形式を選択して貼り付ける」というダイヤログを開くと「リンク貼り付け」を 選択できるようになっています。 この「リンク貼り付け」の意味はどのような機能なのでしょうか。 普通の貼り付けでも必ずリンク貼り付けになっているのに、この機能をわざわざ選択する場合とは、どのような場合 なのでしょうか。 また、リンク貼付にすると何が同のように違ってくるのでしょうか。

  • エクセルのリンク貼り付けで・・・

    エクセルで、数字・日付の入った表を、同じブックのファイルに、リンク貼り付けした場合、元の表で数字を入力していないセルのリンク先が0で表示されるので、空白にしたいのですが・・・。 それと入力していない日付のセルも、リンク先に違う日付が表示されるので空白に出来るでしょうか?

  • Excel でリンク貼り付け方法を教えてください。

    excel で sheet1 の文字列 で表示した 01 02 ・・・・・&空欄 を sheet2 に 全く同じ表示をさせたいのですが、なかなかうまくいきません。 01 02 03 (空欄) 05 リック貼り付けすれば、数字(文字列)のあるセルはリンク表示しますが、空欄が”0”表示します。 =if(**,**,**) を用いてできないか、やってみましたが、リンク表示できません。 よろしくご指導ください。

  • エクセル2010でブック間リンク貼り付けが出来ない

     エクセル2010を使っています。これまでブックから他のブックを参照(=を押して、他のブックに移動し、必要なデータのセルを選択し、Enterキーを押す)し、リンク貼り付けを行ってきましたが、今日エクセルを起動し、ブックを開いてリンク貼り付けをしようとしたら、貼り付けが出来なくなっていました。  =を押して、別のブックに移動し、カーソルを選択し、Enterキーを押すと下のカーソルに移動するだけで、=を押したブックに戻りません。  オフィスを削除し、再インストールしましたが直りません。よろしくお願いします。

  • エクセル リンクしているセルを探すには?

    お世話になります。 エクセルの「ブックどおしの自動リンク」について質問します。 あるブックを開くたび、リンク設定したつもりのがないのに 「開いているブックには、、、、他のブックの変更を反映しますか?」 と聞いてきて困ります。 シートが複数あり、どのシートのどのセルにリンクされているのか、探すのが大変で。 リンクしているセルを簡単に検索することができますでしょうか?