- ベストアンサー
excelの参照について
excelの参照について 初心者です。 1枚目のシートの情報を2枚目以降のシートに参照させたいのですが それぞれのシートの同じセルに シート2枚目には A1のセルを参照させ シート3枚目には A2のセル シート4枚目には A3のセル・・・ という具合にシートが進む毎に一つずつ下段のセルを参照させたいのですが シート1枚ごとに手で一つずつ入力するのではなく なにか一括して入力する方法はありますでしょうか? よろしくお願い致します。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
ANo.1です セル式では、今のセルが何シート目か判断できません。 そのため、先の回答では、シート名を使用しました。 シート名に何番目と判断できる番号が無いのでしたら、VBAを使わざる得ません。 VBAでは↓の様になります。なお、中の"A1"が値を貼り付けるセルの位置です。 Sub Sample() Dim sh As Worksheet For Each sh In ActiveWorkbook.Worksheets If sh.Index <> 1 Then sh.Range("A1").Value = Sheets(1).Cells(1, sh.Index * 2 - 3).Value End If Next sh End Sub #一枚目のシートの、A1,C1,E1、と取るようにしました。
その他の回答 (3)
- mu2011
- ベストアンサー率38% (1910/4994)
一例です。 シート2以降のシート名称は「1」からのシリアル番号、参照元シートの行番号として利用する方法です。 シート2以降を全選択して固定セルに=INDIRECT("sheet1!A"&MID(CELL("filename",$A$1),FIND("]",CELL("filename",$A$1))+1,10))を設定、シート選択解除
お礼
回答ありがとうございました。 簡単な表で試したらうまくいきました。 もう少し勉強して表を仕上げたいと思います。 本当にありがとうございました。
- HRI-Sankou
- ベストアンサー率32% (64/199)
シート2のA1セルに = (半角)を入力 シート1を選択 シート1のA1を、左クリック Enter キーを押す シート2のA1セルの式を必要範囲に、コピー 同上のことを、シート3では、 シート1の部分を、シート2に シート2の部分を、シート3に 置き換えて実行 シート4以降も同じことを、行う
お礼
回答ありがとうございました。 これだとシートが進んでも同じセルを参照してしまうと思うのですが 私のやり方が間違っているのでしょうか・・・
- mt2008
- ベストアンサー率52% (885/1701)
シート名から何シート目かを判断しますので、シート名をSheet1~Sheet99と仮定しました。 Sheet2以降の適当なセルに↓の式を入れてください。 =OFFSET(Sheet1!A1,SUBSTITUTE(RIGHT(CELL("filename",A1),2),"t","")-2,0) なお、一度保存したブックで無いと上手く動きません。
補足
早速の回答ありがとうございます。シート名を教えていただいた通り「Sheet1」「Sheet2」としたらうまくいったのですが、実際は1シート目が「集計」、2シート目からは店名になって「A店」「B店」となっています。このシート名にしたら#VARUEとなってうまくいきませんでした。(数式の「Sheet1」を「集計」としました)。 あと、教えていただいたのは1シートずつ下にずらす式でしたが、お忙しいところ本当に申し訳ないのですが、右に2つずつずらす場合の式も教えていただけないでしょうか。
お礼
何度もありがとうございます。 これは私には難しすぎるようなので、シート名を教えていただいたようにSheet1・・・として作ることにします。一部分試してみましたがうまくいきそうです。本当にありがとうございました。