一回も披露したことのない豆知識

職場内の研修に使用する「用語解説集」の様な物を作っています。
A列に単語、B列に単語の解説を入れて作りました。かなりのページ数になったため、単語がどのページに入っているかの目次を作りたいと思います。
この先も必要に応じて単語が追加されるので、追加した後、「あいうえお」順にデータの並べ替えができるエクセルで作成しました。
ワードだと見出しの設定とかで目次が作れ、必要に応じてフィールドの更新ができますが、エクセルでもそのような機能はありますでしょうか?
どうか教えて下さい。

A 回答 (5件)

[ツール][マクロ]▲マクロを呼び出して


マクロ名へ「目次」などと記入します。
VBエディターが起動しますのでSub目次()からEnd Subが以下の形になるようにコピー&ペーストします。

Sub 目次()
Dim wksOutput As Worksheet
Dim wksMember As Worksheet
Dim i As Long

On Error Resume Next
Set wksOutput = Worksheets("シート選択")
On Error GoTo 0

If wksOutput Is Nothing Then
MsgBox "「シート選択」シートを用意してください"
Exit Sub
End If

Application.ScreenUpdating = False
With wksOutput
.Cells.Clear
.Cells(1, 1).Value = "シート名"
End With

i = 1
For Each wksMember In ActiveWorkbook.Worksheets
If wksMember.Name <> "シート選択" Then
With wksOutput
i = i + 1
.Hyperlinks.Add anchor:=.Cells(i, 1), _
Address:="", _
SubAddress:="'" & wksMember.Name & "'" & "!A1"
End With
End If
Next wksMember

wksOutput.Cells(1, 1).Sort key1:=Cells(1, 1), header:=xlYes

Application.ScreenUpdating = True
MsgBox (i - 1) & "枚のシートのリンクを作成しました"

ActiveWindow.WindowState = xlNormal
With ActiveWindow
.Top = 0
.Left = 150
.Height = Application.UsableHeight
.Width = Application.UsableWidth * 0.8 '615
End With

ActiveWindow.NewWindow
With ActiveWindow
.Top = 0
.Left = 0
.Height = Application.UsableHeight
.Width = Application.UsableWidth * 0.2 '2:8に画面分割
End With
End Sub

などと記入します。
[ファイル]上書き保存してVBEditer、終了し
Excelから[ツール][マクロ]▲マクロを呼び出して「目次」を実行します。
Excel97以降ならたぶん動作します。
    • good
    • 0
この回答へのお礼

とても詳しい内容ありがとうございます。
頑張って設定してみたいと思います!

お礼日時:2005/05/19 11:20

#2です。



まず、参考URLを開きます。
このHP自体、ここと同じように
最初に質問があって、下の方に回答が載っています。

それぞれの回答者さんの意見、URLを
参考にしてみて下さい。

参考URL:http://www.hatena.ne.jp/1106710991
    • good
    • 0

目次の項目をクリックすると解説に移る。

これはハイパーリンクで出来ます。(この形で作った事があります。)
しかし、大きな問題があるのです。移動先はあくまで名前のつけられたセルであって、内容が変更されても(ソートなどで内容が変化しても)決まったセルにジャンプする。
これから先、単語が追加される場合、セルの挿入でセルを増やし入力する。一番下に入力させ、ソートなどしようものなら全てぐちゃぐちゃになっえしまう可能性がある。
これをふまえた上で。

単語の入ったセルを選択して(移動したいセルを選択)挿入→名前→定義で名前を付ける。
これを、単語の入ったセル全てに付ける。(名前は単語そのものがいいと思います。間違えが少なくなる。)

目次に戻り、項目セルを選択して、右クリックして、ハイパーリンクを選択。このドキュメント内を選択して、定義された名前の中から移動先を選択。
これで、目次にアンダーバーが出て、色が青くなります。これで、設定は完了。
    • good
    • 0
この回答へのお礼

教えて頂いて感謝しております。
ありがとうございます。

お礼日時:2005/05/19 11:18

こんにちは。



できなくはないみたいです。

参考URL:http://www.hatena.ne.jp/1106710991

この回答への補足

ご丁寧にありがとうございます。
参考URLを開いてみましたが、私には難しすぎて使い方がわかりませんでした。
大変お手数ですが、これはどうやったら使えるのでしょうか?
教えて頂ければ幸いです。

補足日時:2005/05/18 16:13
    • good
    • 0

私は会社でofficeを使用しているレベルですが、


たぶん仰るような機能は、まったく同じ機能では無いのではないかと思います。

ですので、関数などを組み合わせて参照式を作って表示するとかでやるしかないと思うのですが、
エクセルでどういった形で作られているのかわからないので、こうすれば良いとは言えないのですが。。。

逆に「あいうえお」順に並んでいるのであれば、特に目次というか索引というか、どのページに入っているかは必要では無いのでは?
辞書でも索引ってありませんよね?

この回答への補足

一つの単語に数行の解説があるため単語数の割りにはページ数が多くなっています。なので単語だけを並べられれば数ページになるので、そこで調べたい単語が何ページに入っているかを調べ、そのページを開くようにしたいのです。
A列に単語、B列に単語の解説が「折り返して全体を表示する」になっています。
関数を組み合わせれば可能なのでしょうか?関数はほとんどわからないのです。
実際には印刷した物を配布します。

補足日時:2005/05/18 15:30
    • good
    • 0

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