プロが教える店舗&オフィスのセキュリティ対策術

70枚ほどのシートがあり、そのA1セルに各シートの題名の様な文字列が入っています。
一番最初にインデックスのシートを作り、そのA列に以降のシートの各A1セルの値を並べたいんですが、どんな式を入れれば良いのでしようか?
「インデックス」シートのA1に =Sheet2!$A$1 を入れ下にオートフィルではダメでした。

A 回答 (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
    • good
    • 0
この回答へのお礼

VBAまで、詳しくありがとうございます。

お礼日時:2005/10/02 13:14

シートの名前は、


左から、インデックス、Sheet2、Sheet3、Sheet4・・・
と続いているのでしょうか?
そのようになっているのならば、
「インデックス」シートのA1に
=INDIRECT("Sheet" & ROW()+1 & "!A1")
と入力し、下にコピーでどうでしょう。
    • good
    • 0
この回答へのお礼

ありがとうございます。
なかなか旨くいかなかったんですが、オプションの設定が手動になってたりして旨くいかなかったみたいです。
出来ました。

お礼日時:2005/10/02 13:13

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!