首页 > 其他分享 >vba给workbook多工作表添加跳转链接及回跳链接

vba给workbook多工作表添加跳转链接及回跳链接

时间:2023-07-04 21:01:35浏览次数:58  
标签:Dim vba wb sheetNames ws Sheets 跳转 newSheet 链接

前一篇为python版,此为vba版

 1 Sub CreateHyperlinks()
 2     Dim wb As Workbook
 3     Dim ws As Worksheet
 4     Dim newSheet As Worksheet
 5     Dim sheetNames() As String
 6     Dim i As Integer
 7     Dim linkAddress As String
 8     Dim returnCell As Range
 9     Dim maxColumn As Integer
10     Dim hyperlinkToNewSheet As Hyperlink
11     
12     '打开现有的工作簿
13     Set wb = Workbooks.Open("your_file.xlsx")
14     
15     '获取工作表名称
16     ReDim sheetNames(1 To wb.Sheets.Count)
17     For i = 1 To wb.Sheets.Count
18         sheetNames(i) = wb.Sheets(i).Name
19     Next i
20     
21     '添加新工作表并移至第一位
22     Set newSheet = wb.Sheets.Add(Before:=wb.Sheets(1))
23     newSheet.Name = "New Worksheet"
24     
25     '在新工作表中添加跳转链接
26     For i = 2 To UBound(sheetNames)
27         linkAddress = "'" & sheetNames(i) & "'!A1"
28         newSheet.Cells(i, 1).Value = "跳转到 " & sheetNames(i)
29         newSheet.Cells(i, 1).Hyperlinks.Add Anchor:=newSheet.Cells(i, 1), Address:="", SubAddress:=linkAddress, TextToDisplay:="跳转到 " & sheetNames(i)
30         
31         '在其他工作表中添加返回链接
32         Set ws = wb.Sheets(sheetNames(i))
33         maxColumn = ws.Cells(1, ws.Columns.Count).End(xlToLeft).Column
34         Set returnCell = ws.Cells(1, maxColumn + 1)
35         returnCell.Value = "返回总表"
36         Set hyperlinkToNewSheet = ws.Hyperlinks.Add(Anchor:=returnCell, Address:="", SubAddress:="'" & newSheet.Name & "'!A" & i, TextToDisplay:="返回总表")
37     Next i
38     
39     '保存工作簿
40     wb.Save
41     wb.Close
42     Set wb = Nothing
43 End Sub

 

标签:Dim,vba,wb,sheetNames,ws,Sheets,跳转,newSheet,链接
From: https://www.cnblogs.com/oceanbkywind/p/17526977.html

相关文章

  • python给多页excel工作表写跳转目录及回转链接
    1fromopenpyxlimportload_workbook2#fromopenpyxl.drawing.textimportParagraph,RegularTextRun3fromopenpyxl.worksheet.hyperlinkimportHyperlink4#fromopenpyxl.utilsimportget_column_letter56#打开现有的工作簿7workbook=load_workbo......
  • 数据挖掘18大算法实现以及其他相关经典DM算法:决策分类,聚类,链接挖掘,关联挖掘,模式挖掘。
    数据挖掘18大算法实现以及其他相关经典DM算法:决策分类,聚类,链接挖掘,关联挖掘,模式挖掘。图算法,搜索算法等算法码源见文末1.算法目录18大DM算法包名目录名算法名AssociationAnalysisDataMining_AprioriApriori-关联规则挖掘算法AssociationAnalysisDataMining_FP......
  • bartender配数据库链接
          ......
  • C代码中如何使用链接脚本中定义的变量?
    交流群一:QQ群:869222007(鸿蒙开发/Linux/嵌入式/驱动/资料下载)交流群二:QQ群:536785813(单片机-嵌入式)公 众 号:百问科技版本日期作者说明V12020韦东山技术文档在链接脚本中,经常有这样的代码:SECTIONS{......=ALIGN(4);.rodata:{*(.rodata)}.=ALIGN(4);.data:{*(.d......
  • VBA下标越界(运行时错误-9)提示问题处理
    问题反馈: 测试:采购在途表行数900行没问题,2300行就会报错。排查处理:测试复现问题点击调试初步判断:caigouzaituarr或shuchuliaojianxuqiu数组越界shuchuliaojianxuqiu如果h大于6万会越界,现在看订单就三百行,每个bom按20个原材料算也不会越界。Jhs是即时库存表的行数,此处应该时chs;......
  • vue中router-link路由携带参数跳转
    在对应的路由模块儿中path:'courseList/:id?'router-link中书写方法如下<templateslot-scope="scope"><router-link:to="{path:'/course/courseList/'+scope.row.id}">跳转按钮</router-link></el-ta......
  • VBA控制鼠标键盘
     'sleep函数PrivateDeclareSubSleepLib“kernel32”(ByValdwMillisecondsAsLong)'获取鼠标坐标PrivateTypePOINTAPIXAsLongYAsLongEndTypePrivateDeclareFunctionGetCursorPosLib“User32”(lpPointAsPOINTAPI)AsLong'移动鼠标......
  • Linux编译过程以及生成中间文件--链接
    1、编译系统C源文件到可执行文件共经历了4个过程。在使用GCC编译程序时,编译过程可以被细分为四个阶段,包括预处理、编译、汇编、链接 1、预处理在预处理阶段,编译器主要作加载头文件、宏替换、条件编译的作用。一般处理带“#”的语句。 我们可以通过gcc的-E选项进行查看......
  • 2023.6.30//关于java链接SQLserver数据库报错:驱动程序无法通过使用安全套接字层(SSL)
    详情如下:驱动程序无法通过使用安全套接字层(SSL)加密与SQLServer建立安全连接。错误:“PKIXpathbuildingfailed:sun.security.provider.certpath.SunCertPathBuilderException:unabletofindvalidcertificationpathtorequestedtarget”。ClientConnectionId:32d1......
  • 函数跳转栈帧流程分析
    一个简单跳转过程的分析1.源代码如下#include<stdio.h>intsub(intd,inte){returnd-e;}intsum(inta,intb){intc=sub(100,9);returna+b+c;}intmain(void){inta=12;intb=98;intsum_result=sum(a,b);return0;......