- ベストアンサー
sheet1に以降各シートのA1セル値を列挙したい
70枚ほどのシートがあり、そのA1セルに各シートの題名の様な文字列が入っています。 一番最初にインデックスのシートを作り、そのA列に以降のシートの各A1セルの値を並べたいんですが、どんな式を入れれば良いのでしようか? 「インデックス」シートのA1に =Sheet2!$A$1 を入れ下にオートフィルではダメでした。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
(1)シート名がSheet1,Sheet2,・・・のままだとやさしい。 =INDIRECT("Sheet" & ROW() & "!A1") 他に下記(2)の方法で、オートフィルを使ってシート名が作れる。 (2)多分名前を変えていると思う。 その場合は自動だけでは不可能で、余分なシートに、各シート名だけ入力した列を作ります。 A列とします。 そしてB1に =INDIRECT(A1&"!A1") と入れて下方向に式を複写します。 (3)VBAなら簡単です。 下記をVBEの標準モジュールにコピーする。 追加したシートをアクチブにして、実行する。 シートタブの左から順番に、各シートのA1セルの値が、A列に書き込まれます。 Sub test08() For i = 1 To Sheets.Count Cells(i, "A") = Sheets(i).Cells(1, "A") Next i End Sub
その他の回答 (1)
- masa_019
- ベストアンサー率61% (121/197)
シートの名前は、 左から、インデックス、Sheet2、Sheet3、Sheet4・・・ と続いているのでしょうか? そのようになっているのならば、 「インデックス」シートのA1に =INDIRECT("Sheet" & ROW()+1 & "!A1") と入力し、下にコピーでどうでしょう。
お礼
ありがとうございます。 なかなか旨くいかなかったんですが、オプションの設定が手動になってたりして旨くいかなかったみたいです。 出来ました。
お礼
VBAまで、詳しくありがとうございます。