使用VBA折叠某些组(不是全部)

时间:2017-01-18 16:17:25

标签: vba excel-vba grouping collapse outline

我希望有人能帮助我来这里......

我有一个庞大的列表,我正在使用分组来组织它:

http://stripsearch.me

正如您所看到的,我有一个主要组行,其中包含许多产品。然后,一些产品有附件,然后分组在该部分下。

我想要的是折叠所有产品展示的配件组。以下代码将扩展未扩展的组,我不希望这样。

.Outline.Parent

我已尝试查看.Outline.SummaryRow For i = 3 To getLastRow Dim nextRow As Integer nextRow = shtOTP.Rows(i+1).row If nextRow = ParentRow And i.EntireRow.Hidden = False Then 'Collapse the group below the product End If Next 个功能,但据我所知,他们并未识别父母"该组织。

我可以执行如下循环:

<div id="jsondata"> 
</div>

但是......

如何我是否确定nextRow是否为parentRow?

如何我是否会崩溃只是那个群组?

1 个答案:

答案 0 :(得分:0)

我能够想出一个简短的宏来做到这一点:

Application.ScreenUpdating = False

    Dim row As Range

    For i = 3 To getLastRow
        Set row = shtOTP.Range("A" & i)

        If row.EntireRow.Hidden = True Then                 
            'Do nothing
        ElseIf row.Value = "SM" Then                        'Minor Sub-model row, needs to be collapse
            If shtOTP.Rows(i).EntireRow.ShowDetail = True Then
                shtOTP.Rows(i).EntireRow.ShowDetail = False
            End If
        End If
    Next

Application.ScreenUpdating = True

我将“SM”放在行的A单元格中以便更好地识别它们。