如何使用超链接(或可能将宏指定给超链接)在Excel中展开组

问题描述 投票:2回答:1

我的工作表顶部有一个表格,此表格有不同的部分名称。我想在这些部分名称中插入一个超链接,以便在我点击它们时打开它的组。

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 excel-vba hyperlink expand
1个回答
1
投票

我建议使用“组”表创建一个主表,以及您需要的任何汇总。后续工作表可以包含所有“部分”数据。这具有更大的可扩展性的额外好处。

是否必须在同一张纸上提供所有信息?这就是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
© www.soinside.com 2019 - 2024. All rights reserved.