excel VBA 两工作表两个区域相同单元格相互建立超链接

两工作表两个区域相同单元格相互建立超链接

 

效果图:

 

Public Sub link()
'parkzeng
Dim str_sht As String
Dim str_sht_1 As String
Dim sht_rg As String
Dim sht_rg_1 As String


str_sht = InputBox("两工作表的两区域相互建立超链接         请输入第一个区域的工作表名称:", "工作表名称输入")
sht_rg = InputBox("两工作表的两区域相互建立超链接         请输入第一个区域,如 B4:B10", "区域输入")

str_sht_1 = InputBox("两工作表的两区域相互建立超链接         请输入第二个区域的工作表名称:", "工作表名称输入")
sht_rg_1 = InputBox("两工作表的两区域相互建立超链接         请输入第二个区域,如 C2:C5", "区域输入")

'str_sht = "Sheet1"
'str_sht_1 = "Sheet2"

'sht_rg = "
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 要使用VBAExcel中创建一个目录,并将每个超链指向其A1单元,请按照以下步骤操作: 1. 打开VBA编辑器。可以通过按下Alt + F11来打开它。 2. 在VBA编辑器中,点击“插入”菜单,选择“模块”选项。 3. 在新模块中,输入以下代码: ```VBA Sub Create_TOC() Dim ws As Worksheet Dim i As Integer '创建一个名为“目录”的新工作 Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = "目录" '在目录工作的第一行插入标题 Range("A1").Value = "目录" Range("A1").Font.Bold = True '在目录工作的第二行插入列标题 Range("A2").Value = "名" Range("B2").Value = "超链" Range("A2:B2").Font.Bold = True '循环遍历所有工作 For i = 3 To Worksheets.Count Set ws = Worksheets(i) '在目录工作中插入工作名称 Range("A" & i - 1).Value = ws.Name '在目录工作中创建超链 ActiveSheet.Hyperlinks.Add Anchor:=Range("B" & i - 1), Address:="", SubAddress:= _ "'" & ws.Name & "'!A1", TextToDisplay:="跳转" Next i '自动调整列宽 Range("A:B").Columns.AutoFit End Sub ``` 4. 点击“运行”菜单,选择“Create_TOC”选项。 5. 这将在Excel中创建一个名为“目录”的新工作,并在其中生成一个目录列,其中包含每个工作的名称和指向其A1单元超链。 请注意,此代码假定您的工作名称中不包含任何特殊字符,例如空或逗号。如果您的工作名称中包含这些字符,请在代码中进行相应的修改,以确保超链正常工作。 ### 回答2: VBA创建Excel目录并超链到每个的A1单元,可以通过以下步骤实现。 首先,我们需要在VBA编辑器中创建一个新的模块。可以通过按下“ALT+F11”打开VBA编辑器,然后选择“插入”->“模块”创建一个新的模块。 下来,在新的模块中编写以下VBA代码: ``` Sub CreateExcelDirectory() Dim ws As Worksheet Dim directorySheet As Worksheet Dim hyperlinkFormula As String Set directorySheet = ThisWorkbook.Sheets.Add(After:= _ ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)) directorySheet.Name = "目录" For Each ws In ThisWorkbook.Sheets If ws.Name <> "目录" Then directorySheet.Cells(directorySheet.Cells(directorySheet.Rows.Count, 1).End(xlUp).Row + 1, 1).Value = ws.Name directorySheet.Hyperlinks.Add _ Anchor:=directorySheet.Cells(directorySheet.Cells(directorySheet.Rows.Count, 1).End(xlUp).Row, 1), _ Address:="", _ SubAddress:="'" & ws.Name & "'!A1", _ TextToDisplay:=ws.Name End If Next ws End Sub ``` 在上述代码中,我们首先创建一个名为“目录”的工作,并将其放置在当前工作簿的最后。然后,我们循环遍历当前工作簿中的每个工作,除了“目录”工作。对于每个其他工作,我们将工作的名称写入“目录”工作的下一个空行。然后,我们使用“Hyperlinks.Add”方法添加一个超链到该工作的A1单元。 最后,在VBA编辑器中按下“F5”运行代码。运行代码后,将创建一个名为“目录”的工作,并在该工作中列出所有其他工作的名称。每个工作的名称都是一个超链,点击该超链将会跳转到相应工作的A1单元。 以上就是用VBA创建Excel目录并超链到每个的A1单元的方法。 ### 回答3: VBA(Visual Basic for Applications)是一种编程语言,可以被用于创建Excel目录并为每个添加超链至A1单元。 下面是一个简单的VBA代码示例,用于创建Excel目录并添加超链: ```vba Sub 创建目录() Dim ws As Worksheet Dim wsIndex As Worksheet ' 创建目录 Set wsIndex = ThisWorkbook.Sheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)) wsIndex.Name = "目录" wsIndex.Range("A1").Value = "名称" wsIndex.Range("A1").Font.Bold = True ' 遍历所有工作 For Each ws In ThisWorkbook.Sheets ' 跳过目录 If ws.Name <> "目录" Then ' 在目录中添加超链 wsIndex.Hyperlinks.Add Anchor:=wsIndex.Cells(wsIndex.Cells(Rows.Count, 1).End(xlUp).Row + 1, 1), _ Address:="", _ SubAddress:="'" & ws.Name & "'!A1", _ TextToDisplay:=ws.Name End If Next ws End Sub ``` 这段代码首先创建一个名为“目录”的工作,并在A1单元中输入标题“名称”。然后,代码遍历工作簿中的每个工作,将其名称添加到目录中,并在A1单元上创建超链,链到相应工作的A1单元。 只需在VBA编辑器中打开你的Excel文件,选择工作簿对象,然后将以上代码粘贴到其代码模块中。运行“创建目录”宏,即可创建Excel目录并为每个添加超链至A1单元

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值