◇ VBA语法介绍
Expression.Hyperlinks.AddAnchor, Address[, SubAddress][, ScreenTip][, TextToDisplay]
【Expression】指在哪一个工作表中建立超链接,如Activesheet,表示在当前激活的工作表中建立超链接
【参数1】 Anchor:=单元格地址, 此参数不可以省略;参数含义:用于存放超链接的单元格地址。 Anchor:=Selection 指将超链接存放于当前选中的单元格; Anchor:=Range('A1') 指将超链接存放于A1单元格; Anchor:=Cells(2,1) 指将超链接存放于A2单元格 。
【参数2】Address:=链接地址文本,注意此参数不可省略,需要使用半角英文双引号将地址包括起来。若没有参数则可以写成Address:='',不可以省略此参数 。 链接文本可以是一个网络地址,也可以是本地硬盘上的文件路径 。当链接的文档与当前工作簿在同一文件路径下时,只使用链接文件的文件名,不包括链接文件的路径,如Adress:='示例文件.doc';当超链接指向的文件与当前工作簿不在一个文件路径下时,则会包括链接文件的完整的绝对的路径,如:Address:='F:/示例文件夹/一键生成目录超链接.doc' 。
【参数3】[SubAddress]:=本工作簿中的单元格地址文本,子地址,此参数可以省略;
【参数4】[ScreenTip]:=屏幕提示文字文本,此参数可以省略;
【参数5】[TextToDisplay]:=要显示的文本,此参数可以省略 。
◇ 案例 Public SubCreateIndex() Dimi As Integer i= 1 Sheets.Add Before:=Sheet(1) Activesheet.Name= '目录表' Do While i<= Sheets.Count ActiveSheet.Hyperlinks.AddAnchor:=Cells(i, 1), Address:='', SubAddress:= _ Sheets(i).Name & '!A1',ScreenTip:='单击转到 - ' & Sheets(i).Name, _ TextToDispla y:=Sheets(i).Name i=i 1 Loop ActiveWorkbook.Save End Sub
代码分析: 1、循环语句: Do While <循环条件> <语句组1> [Exit Do] <语句组2> Loop 2、Sheets.Count 表示工作簿中工资表的张数; Sheets(i).Name 表示工资表名称; Sheets.Add Before:=Sheet(1) 指在第一张工作表前添加一张名称为“目录表”的工作表; Cells([RowIndex],[ColumnIndex]) 指当前单元格地址,如Cells(1,2)表示在第一行第二列的B1单元格 。 3、Activeworkbook.Save 保存当前工作簿; 4、代码设计整体思路:
代码预计效果: 预计在代码执行之后,在当前工作簿的最前面添加一张名称为“目录表”的工作表,同时在A列从A1单元格开始,列出当前工作簿中所有工作表标签的名称,并添加指向对应工作表的超链接,当鼠标悬停在超链接文字上时,显示将会转到哪一个工作表,屏幕提示文字格式为“单击转到 - xxxxx” 。 (1).首先在工作簿中第一张工资表前添加一张“目录表”工资表,用于存放制作的目录; (2).接着执行循环操作:在第一张工作表的A1单元格建立一个超链接,SubAddress为第一张工作表的标签名称“目录表”,(因为链接指向的不是网络链接地址,所以Address参数为空,写成Address:='',但不可以省略)屏幕显示文字为“单击转到 – 目录表”,要显示的文字为“目录表”,之后对第二张工作表,第三张工作表执行相同的程序,循环的次数为当前工作簿中工资表的张数 。 为了防止排版出错导致大家不方便阅读和理解代码,现截图如下: |
|