我有一个macros在单张纸上显示选项卡列表,但我希望macros也显示该选项卡中的数据

请忍受这个总noob。 这是我想要修改的macros。

Private Sub Workbook_Open() Sheets("TabList").Select Range("b5").Activate Dim sh As Worksheet Dim cell As Range For Each sh In ActiveWorkbook.Worksheets If ActiveSheet.Name <> sh.Name Then ActiveCell.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _ "'" & sh.Name & "'" & "!A1", TextToDisplay:=sh.Name ActiveCell.Offset(1, 0).Select End If Next sh End Sub 

当我打开工作簿时,此macros将打开TabList表并创build工作簿中单元格B5开始的所有选项卡的超链接列表清单。 当这个macros运行时,我希望它从每个工作表的特定单元格中提取数据,并将其显示在TabList工作表上从C5开始的超链接名称旁边的列中。

例如,macros中的一个表单称为Sheet2,单元格J8的值在TabList表单旁边显示。 如果Sheet2是列表中的第一张,它将位于位置B5,所以Sheet2!J8的值应显示在单元格C5中。 我希望从每个连续的表格中读取相同的单元格,并将其显示在列表的下方。

谢谢你的帮助。

试试这个代码:

 Private Sub Workbook_Open() Dim sh As Worksheet Dim rng As Range Dim cell As Range Dim tabShName As String tabShName = "TabList" Sheets(tabShName).Select Set rng = Range("B5") For Each sh In ThisWorkbook.Worksheets If sh.Name <> tabShName Then rng.Hyperlinks.Add Anchor:=rng, Address:="", SubAddress:= _ "'" & sh.Name & "'" & "!A1", TextToDisplay:=sh.Name rng.Offset(, 1).Value = sh.Range("J8").Value Set rng = rng.Offset(1) End If Next sh End Sub