我的工作表顶部有一个表格,此表格有不同的部分名称。我想在这些部分名称中插入一个超链接,以便在我点击它们时打开它的组。
Please Refer to the view of my table and sections as default (Collapsed)
我可以创建一个宏:
Expands all groups
Goes to the Section that I clicked,
Collapses all groups
Only opens the group on active cell,
但是将此宏指定给~20个不同的部分会增加文件大小。
经过一番搜索,我在SO上找到了这个:Excel: Assign a macro to a hyperlink?所以也许有办法连接这两个方法?
怎么解决这个问题?
我建议使用“组”表创建一个主表,以及您需要的任何汇总。后续工作表可以包含所有“部分”数据。这具有更大的可扩展性的额外好处。
是否必须在同一张纸上提供所有信息?这就是Excel有多张纸的原因。使用多个工作表还可以使用标准超链接。
但是,如果您希望某些VBA能够让您更近,请考虑以下代码。这将从活动单元格中获取值,然后使用该值搜索下一个单元格。如果找到包含找到的单元格的部分,则会将其展开,反之亦然。
Sub OpenSection()
Dim x As String
x = ActiveCell.Value
Dim y As String
y = Cells.Find(What:=(x), After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Address
'Range("b1").Value = y
With ActiveSheet
With .Range(y).EntireRow
If .ShowDetail = False Then
.ShowDetail = True
Else
.ShowDetail = False
End If
End With
End With
End Sub