Excel工作表目录实现方法
方法一:函数公式法(1)
步骤如下:
1、定义名称“directory lists”
2、在引用位置写入名称公式=REPLACE(GET.WORKBOOK(1),1,FIND("]",GET.WORKBOOK(1)),)T(NOW())
3、新建一个工作表,将此工作表改名为“工作表目录”,并将此工作表放在首位。
4、在“工作表目录”A2单元格输入公式=IF(ROW()COUNTA(directory lists),"",INDEX(directory lists,ROW()))
5、B2单元格输入公式=HYPERLINK("#"A2"!a1","进入")
方法一是网络上常见的方法,实际还有比这更简洁的方法,请看以下方法二
方法二、函数公式法(2)
步骤如下:
1、定义名称“directory”
2、在引用位置写入名称公式=GET.WORKBOOK(3)
3、新建一个工作表,将此工作表改名为“工作表目录”,并将此工作表放在首位。
4、在“工作表目录”A2单元格输入公式=IF(ROW()COUNTA(directory ),"",INDEX(directory ,ROW()))
5、B2单元格输入公式=HYPERLINK("#"A2"!a1","进入")
方法二是我在试验GET.workbook(N )中的N参数得出的
方法三:VBA法(3)
Sub 目录()
Range("a1:b1").EntireColumn.Clear
Cells(1, 1) = "序号"
Cells(1, 2) = "工作表名称"
Dim rng As Worksheet
Dim L As String
I = 2
For Each rng In Worksheets
L = rng.Name
L1 = """" L """"
L2 = """#""" """"
Cells(1, 4) = "'=HYPERLINK(" L2 L "!a1""" "," L1 ")"
If L "目录" Then
Cells(I, 2).Formula = "=HYPERLINK(" L2 L "!a1""" "," L1 ")"
Cells(I, 1) = I - 1
I = I + 1
End If
Next
ActiveSheet.Move before:=Sheets(1) '将目录工作表移到所有工作表的最前面
End Sub
方法三采用了VBA,用以上代码实现工作表目录也不错,是最近一片白云编写调试做的。供朋友们学习与借鉴。
相关知识点:
知识点1:函数HYPERLINK使用
1、创建一个快捷方式(跳转),用以打开存储在网络服务器、Intranet(Intranet:一种组织内部的、使用 Internet技术(如 HTTP或 FTP协议)的网络。通过利用超链接,您可以在 Intranet上浏览对象、文档、网页和其他目标内容。) 或 Internet中的文件。当单击函数 HYPERLINK所在的单元格时,Microsoft Excel将打开存储在 link_location中的文件。
语法HYPERLINK(link_location,friendly_name)
Link_location 为文档的路径和文件名,此文档可以作为文本打开。Link_location还可以指向文档中的某个更为具体的位置,如 Excel工作表或工作簿中特定的单元格或命名区域,或是指向 Microsoft Word文档中的书签。路径可以是存储在硬盘驱动器上的文件,或是服务器(在 Microsoft Excel for Windows中)上的“通用命名规范”(UNC)路径,或是在 Internet或 Intranet上的“统一资源定位符”(URL(统一资源定位符 (URL):一种地址,指定协议(如 HTTP或 FTP)以及对象、文档、万维网网页或其他目标在 Internet或 Intranet上的位置,例如:。))路径。
Link_location 可以为括在引号中的文本字符串,或是包含文本字符串链接的单元格。
如果在 link_location中指定的跳转不存在或不能访问,则当单击单元格时将出现错误信息。
Friendly_name 为单元格中显示的跳转文本值或数字值。单元格的内容为蓝色并带有下划线。如果省略 Friendly_name,单元格将 link_location显示为跳转文本。
Friendly_name 可以为数值、文本字符串、名称或包含跳转文本或数值的单元格。
如果 Friendly_name返回错误值(例如,#VALUE!),单元格将显示错误值以替代跳转文本。
说明
若要选定一个包含超链接的单元格并且不跳往超链接的目标文件,请单击单元格区域并按住鼠标按钮直到光标变成一个十字,然后释放鼠标按钮。
示例
下面的示例打开存储在 Internet的 example.microsoft.com/report地址上的工作表 Budget Report.xls,并显示文本“Click for report”:
=HYPERLINK(" report.xls", "Click for report")
下面的示例创建对工作簿 Budget Report.xls的 Annual工作表中单元格 F10的超链接,该工作簿存储在 Internet的 example.microsoft.com/report地址上。工作表中包含超链接的单元格将以单元格 D1的内容作为其显示的跳转文本:
=HYPERLINK("[ report.xls]Annual!F10", D1)
下面的示例创建对工作簿 Budget Report.xls的 First Quarter工作表中 DeptTotal区域的超链接,该工作簿存储在 Internet的 example.microsoft.com/report地址上。工作表中包含超链接的单元格将显示跳转文本“Click to see First Quarter Department Total”:
=HYPERLINK("[ report.xls]First Quarter!DeptTotal", "Click to see First Quarter Department Total")
若要对 Microsoft Word文档中的特定位置创建超链接,必须使用书签来定义文档中所要跳转的位置。下面的示例创建对 example.microsoft.com上名为 Annual Report.doc的文档中的书签 QrtlyProfits的超链接:
=HYPERLINK("[ Report.doc]QrtlyProfits", "Quarterly Profit Report")
在 Excel for Windows中,下面的示例可以将单元格 D5中的内容显示为超链接单元格中的跳转文本,并打开名为 1stqtr.xls的文件,该文件存储在 FINANCE服务器的 Statements共享文件夹中。此示例使用 UNC路径:
=HYPERLINK("\\FINANCE\Statements\1stqtr.xls", D5)
下面的示例打开 Excel for Windows的文件 1stqtr.xls,该文件存储在驱动器 D的名为 Finance的目录下,并显示存储在单元格 H10中的数字值:
=HYPERLINK("D:\FINANCE\1stqtr.xls", H10)
在 Excel for Windows中,下面的示例将创建指向另一个(外部)工作簿 Mybook.xls中名为 Totals的区域的超链接:
=HYPERLINK("[C:\My Documents\Mybook.xls]Totals")
在 Microsoft Excel for Macintosh中,下面的示例将在单元格中显示“Click here”,并打开保存在名为 Macintosh HD硬盘上 Budget Reports文件夹中的 First Quarter文件:
=HYPERLINK("Macintosh HD:Budget Reports:First Quarter", "Click here")
可以在工作表内创建超链接,以便从一个单元格跳转到另一个单元格。例如,如果 Budget工作簿中的 June工作表为活动工作表,则下面的公式将创建跳转到单元格 E56的超链接,链接的文本本身为单元格 E56中的数值。
=HYPERLINK("[Budget]June!E56", E56)
若要跳转到同一工作簿中的其他工作表,请更改超链接中的工作表名称。在前例中,若要创建指向 September工作表中单元格 E56的链接,请将单词“June”更改为“September”。
知识点2:GET函数部分知识点
1、get.workbook(1)是宏表函数之一,作用是提取当前工作薄所有工作表的表名(工作表名前面包括工作簿名),以水平数组的形式储存。
2、get.workbook(3)是宏表函数之一,作用是提取当前工作薄所有工作表的表名(工作表名前不包括工作簿名),以水平数组的形式储存。
有两种情况吧。第一种您的表很少时。自己建一个目录表,挨个添加链接。主要就是在最前面插入一张表。选中一个单元格,点插入-超级链接-本文档中的位置-选中一个表。对应的目录就建好了。以此类推。。。。
第二种情况是表很多,很难一个个的加是就按住ALT+F11出来一个表,点插入-模板,将下面的代码输入进去。然后按F5,再关闭文件。。去看看原来的表就有一个目录了。
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
你说的情况是超链接的应用,具体操作比如你把张飞本年度的销售数据放在一个sheet2里面,在sheet1里单元格输入张飞,然后右键选择张飞单元格---选择超链接---选择本文档---选择sheet2即可完成超链接.你在点击张飞即可显示sheet2张飞的数据了.
不难你试试就会了.祝你成功.
用excel和dos命令批量修改文件名
1、
点击windows左下角的“开始”菜单,选择“运行”,输入
cmd
,回车进入命令行。
2、
用
cd
命令进入到你想批量修改文件名的文件夹目录。比如这里,我想要进入c盘中的pics文件夹。
cd
cd
pics
3:
输入
dir
/b
你可以看见当前文件夹目录下面全部文件的列表。
输入
dir
/b
pics.xls
将的列表输出到pics.xls电子表格。
4:
有趣的东西现在才开始。打开excel或google
docs电子表格,你会在第一列中看到刚才文件列表。
5:
在旁边空白的列中,添加一个相应的function函数公式——例如,使用substitute可以来修改文件名中指定的字符,使用
concatenate()
和
date()
可以在文件名中加上日期,等等。
6:
如上图,选中b1单元格右下角的+加号,向下拖动,这样我们的公式将被复制应用到所有行。
现在,你原来的文件名在a列,你期望替换成的文件名在b列——我们现在要将它们转化为dos中的rename命令。
在c列,输入excel公式:
=concatenate("ren
",a1,
"
",
b1)
点击函数的对号,确认输入无误后,拖到右下角的+加号,应用到所有行。
7:
选中c列,点击“复制”,在c盘pics文件夹目录下,创建一个rename.bat文件,将复制的内容粘贴进去。
8:
现在我们已经基本要完成了。在c:pics下输入命令rename.bat,然后回车,你会发现pics目录下的文件名已经按照你期望的方式全部被修改了。
本文转载自互联网,如有侵权,联系删除