第3个回答 2009-02-12
用VBA可以,代码如下:
Sub 创建当前工作簿的工作表目录()
On Error Resume Next
Application.ScreenUpdating = False
Dim XStr, YStr, ZStr
XStr = " -"
ZStr = ""
For i = 1 To Worksheets.Count
If Worksheets(i).Name = "工作表目录" Then
Exit For
End If
Next
If i > Worksheets.Count Then
Sheets.Add
ActiveSheet.Name = "工作表目录"
End If
Sheets("工作表目录").Move before:=Sheets(1)
Sheets("工作表目录").Select
Range("A:B").Clear
Range("B:B").NumberFormatLocal = "@"
Worksheets(1).Cells(1, 4).Value = "编号"
Worksheets(1).Cells(1, 5).Value = "目录"
For i = 2 To Worksheets.Count
Worksheets(1).Cells(i, 4).Value = i - 1
Worksheets(1).Cells(i, 5).Value = Worksheets(i).Name
For j = 1 To Len(Worksheets(i).Name)
YStr = Mid(Worksheets(i).Name, j, 1)
If InStr(XStr, YStr) <> 0 Then
ZStr = "'"
Exit For
End If
Next
ActiveSheet.Hyperlinks.Add Anchor:=Worksheets(1).Cells(i, 5), Address:="", SubAddress:=ZStr & Worksheets(i).Name & ZStr & "!A1", TextToDisplay:=Worksheets(i).Name
Next
Columns("D:D").HorizontalAlignment = xlCenter
Columns("D:D").VerticalAlignment = xlCenter
Columns("e:e").HorizontalAlignment = xlLeft
Columns("e:").VerticalAlignment = xlLeft
Range("A1").Select
Application.ScreenUpdating = True
End Sub