Excel 单个工作表中如何制作一个类似Word的索引目录

有几千条职工的数据记录,给前面做了一个职工的姓氏索引以便打印出来方便查阅,格式如下: 陈 1-3页,王 4-6 页等等,如果不能显示终止3,6页,那么只显示起始位置陈1,王4也行。这个如果手动添加的话以后数据有增删则非常麻烦,如果像Word一样有索引目录就好了,能自动更新目录。请高手赐教。

 1、新建Excel工作簿,在工作表中依次输入文件夹内的Word文件名。

2、打开文件夹,按下shift键右键单击文件,找到复制为路径命令,并单击。

3、依次复制文件的路径到Excel工作簿内,和相应的文件名相对应。

4、在C列使用HYPERLINK函数创建链接,公式为:=HYPERLINK(B2,"打开"&A2)

5、公式解析:HYPERLINK函数是用来创建超链接的函数,第一参数是打开文件的路径,第二个参数的意思是超链接显示的名称。经过如此设置,就能为多个Word文件创建索引目录,即使不在同一个文件夹也适用于这个方法。

6、使用这个方法也是有效的提高效率,对文件的归纳整理很有帮助。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-08-06
通过超级链接定位实现页数问题,然后再超级链接的显示名称出输入=单元格号,可以实现更改的要求
如:在单元格A1处设置超级链接指向A60,那么实现指向起始位置A60,然后在显示项输入=A60,之后只要你更改A60的字A1就会跟着变,但指向不变。
不知我是否有理解错误
第2个回答  2008-08-13
打开要创建目录的EXCEL文件--------Alt+F11---------插入--------模块--------把下面的代码拷贝到模块中

Sub mulu()
On Error GoTo Tuichu
Dim i As Integer
Dim ShtCount As Integer
Dim SelectionCell As Range

ShtCount = Worksheets.Count
If ShtCount = 0 Or ShtCount = 1 Then Exit Sub
Application.ScreenUpdating = False
For i = 1 To ShtCount
If Sheets(i).Name = "目录" Then
Sheets("目录").Move Before:=Sheets(1)
End If
Next i
If Sheets(1).Name <> "目录" Then
ShtCount = ShtCount + 1
Sheets(1).Select
Sheets.Add
Sheets(1).Name = "目录"
End If
Sheets("目录").Select
Columns("B:B").Delete Shift:=xlToLeft
Application.StatusBar = "正在生成目录…………请等待!"
For i = 2 To ShtCount
ActiveSheet.Hyperlinks.Add Anchor:=Worksheets("目录").Cells(i, 2), Address:="", SubAddress:= _
Sheets(i).Name & "!R1C1", TextToDisplay:=Sheets(i).Name
Next
Sheets("目录").Select
Columns("B:B").AutoFit
Cells(1, 2) = "目录"
Set SelectionCell = Worksheets("目录").Range("B1")
With SelectionCell
.HorizontalAlignment = xlDistributed
.VerticalAlignment = xlCenter
.AddIndent = True
.Font.Bold = True
.Interior.ColorIndex = 34
End With
Application.StatusBar = False
Application.ScreenUpdating = True
Tuichu:
End Sub

关闭BASIA的界面

在你要插入的电子表格里按ALT+F8

选好你刚才写的模块mulu

点执行

--------OK本回答被提问者采纳
第3个回答  2008-08-06
超链接
第4个回答  2019-06-23

本文以win7系统excel2016为例。

1、启动excel使用快捷键alt+f11。

2、在弹出的菜单中点击插入,在下级菜单中点击模块。

3、将下列代码粘贴进去。

Sub mulu()

On Error GoTo Tuichu

Dim i As Integer

Dim ShtCount As Integer

Dim SelectionCell As Range

ShtCount = Worksheets.Count

If ShtCount = 0 Or ShtCount = 1 Then Exit Sub

Application.ScreenUpdating = False

For i = 1 To ShtCount

If Sheets(i).Name = "目录" Then

Sheets("目录").Move Before:=Sheets(1)

End If

Next i

If Sheets(1).Name <> "目录" Then

ShtCount = ShtCount + 1

Sheets(1).Select

Sheets.Add

Sheets(1).Name = "目录"

End If

Sheets("目录").Select

Columns("B:B").Delete Shift:=xlToLeft

Application.StatusBar = "正在生成目录…………请等待!"

For i = 2 To ShtCount

ActiveSheet.Hyperlinks.Add Anchor:=Worksheets("目录").Cells(i, 2), Address:="", 

SubAddress:= _

Sheets(i).Name & "!R1C1", TextToDisplay:=Sheets(i).Name

Next

Sheets("目录").Select

Columns("B:B").AutoFit

Cells(1, 2) = "目录"

Set SelectionCell = Worksheets("目录").Range("B1")

With SelectionCell

.HorizontalAlignment = xlDistributed

.VerticalAlignment = xlCenter

.AddIndent = True

.Font.Bold = True

.Interior.ColorIndex = 34

End With

Application.StatusBar = False

Application.ScreenUpdating = True

Tuichu:

End Sub

4、选择编译好的代码宏执行即可。

本回答被网友采纳
相似回答