VBA для группировки похожих данных с новой родительской строкой - PullRequest
0 голосов
/ 05 ноября 2019

У меня есть электронная таблица с уникальными номерами в столбце A, которую я хочу сгруппировать вместе с отображенной родительской строкой. Например:

enter image description here

Я хочу, чтобы это отображалось так с комментариями, сгруппированными (shift + alt + right in excel) под его уникальным номером.

enter image description here

Свернутый, это будет выглядеть так:

enter image description here

Плюспризнаки, которые на самом деле не находятся в ячейке, а просто указывают на наличие дочерних строк под parent.hoping для ответа. заранее большое спасибо

1 Ответ

0 голосов
/ 05 ноября 2019

Я думаю, что ваша проблема больше подходит для использования фильтров Excel, чем VBA. Но если вы действительно хотите использовать VBA, приведенный ниже код выполняет то, что вы описываете, и, возможно, вы можете использовать его в качестве отправной точки для достижения своей цели.

. Все операторы .select должны быть удалены. Они просто есть, так что вы можете узнать, что делает код, когда вы шагаете по нему, как в анимированном GIF, который показывает, как работает код. Затем в конце правой кнопкой мыши скрытые строки используются для их отображения.

enter image description here

Option Explicit
Sub groupAndHideRows()
Dim sh As Worksheet, r As Range
Set sh = ActiveSheet
'group rows
Set r = sh.Range("A1")
While r <> ""
    sh.Rows(r.Row).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    r.Select
    r.Offset(-1, 0) = Left(r, 5)
    While Left(r, 5) = Left(r.Offset(1, 0), 5)
        Set r = r.Offset(1, 0)
        r.Select
    Wend
    Set r = r.Offset(1, 0)
Wend
'hide rows
Set r = sh.Range("A1")
While r <> ""
    r.Select
    If Not IsNumeric(r) Then sh.Rows(r.Row).EntireRow.Hidden = True
    Set r = r.Offset(1, 0)
Wend
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...