解決済

Excelで目次を作成したいのですが、効率の良い方法あれば教えてください

Excelで、とあるマニュアルを作成しています。構成としては各項目ごとでワークシートが別々になっており、各シートのセルA1に見出しの名前が入っています。

中身が完成したので、最後にこれら一覧として新しいシートに目次を作成するのですが、項目数がかなりたくさんあるので、直接入力しようとすると膨大な時間がかかります。

何か効率よく各シートセルA1に書かれてる内容の一覧を作成する方法はないものでしょうか?
(目次のシートセルA1に次のシートのセルA1を表示させて、セルA2に次の次のセルA1の値を表示させる。これの繰り返し)
何か関数とか使えれば楽な気がするのですが、目的の合う関数もわからない状態です><
説明が下手でよく伝わらないかもしれませんが、わからないことがありましたら、遠慮なくコメント・回答をお願いします~。

2008-04-24 10:37の質問
Excel  目次作成  
Excel
「Microsoft Office Excel」のホームページです
office.microsoft.com/ja-jp/excel/
この質問と回答を読んで役に立った場合は「役に立つ質問」に投票してください。投票が多い質問は、役に立つ質問一覧に掲載され、より多くの人に見てもらうことができます。
Ads By Google

回答(2)

3.

2008-04-24 17:34:37ベスト
では、VBAで
[Alt]+[F11]でVBE画面にして
左のリストから目次シートを(ダブル)クリックして右側に空白部分が表示されたら

Public Sub make_index()
Dim i As Integer
Dim cell As Range

Set cell = Range("A1")

For i = 1 To Sheets.Count
    If Sheets(i).Name <> "目次" Then
        cell.Offset(i - 1).Value = Sheets(i).Range("A1").Value
    End If
Next

End Sub
を貼り付ける
"目次" を実際の目次シートの名前に変更して
ツールバーの三角ボタン|>をクリックして実行する
回答レベル : 回答

ご丁寧な回答ありがとうございました^^
解決いたしました。

ホントに感謝しております。

1.

2008-04-24 14:53:32ベター
シート名が単純に
Sheet1,Sheet2,…
のような数字で増加していく形式なら、
目次シートの
A1に
=INDIRECT("Sheet"&ROW()&"!A1")
のように入力して、以下ドラッグします。

シート名に規則がないならVBAを使うのが簡単かもしれません。
回答レベル : アドバイス

ご回答、ありがとうございます。
>=INDIRECT("Sheet"&ROW()&"!A1")
なるほど~と関心しました。
残念ながら、シート名に規則性がありませんので利用できませんが><
でも、いい勉強になりました^^
VBAは全く使えません^^;
今度勉強しなきゃいけないですね・・・

Ads By Google

コメント(3)

2008-04-25 03:32:57

シートが連続しているなら,最初のシートのA1をクリックして,Shiftを押しながら最後のシート名をクリックすると,シート間で同じセルを選択できます.3D参照とかいう名前だった気がします.

#2.  クレフ
2008-04-25 10:39:16

>>#1
★オニキス☆さん、コメントありがとうございます。
3D参照についてはよく存じております。
それで、一括して選択までは出来ますがコピーした後の一括貼り付けが出来ないことが今回の問題になっております。

#3.  BLUEPIXY
2008-04-25 14:49:01

#2>コピーした後の一括貼り付けが出来ない
そうですね、「領域の形がちがう」と怒られます。
何にしてもうまくいって良かったデス。

トラックバック

トラックバックURL: