Существует ли какой-либо код VBA для сортировки данных через определенные интервалы на листе? - PullRequest
0 голосов
/ 11 апреля 2019

Мои данные в том виде, в каком они введены

В моих данных я хочу отсортировать данные для Банка 1 согласно возрастающему порядку столбца «Характер дохода», для Банка 2 согласноВ порядке возрастания столбца «Характер дохода» и т. Д. Для всех банков.Но название банка пишется только один раз в стартовой строке для банка.В каждом банке может быть много банков и много данных, поэтому, если я получу код VBA для сортировки данных одним щелчком, это будет очень полезно.Спасибо

1 Ответ

0 голосов
/ 11 апреля 2019

Комментарии к коду объясняют процесс.

Option Explicit

Sub sortAreas()

    Dim a As Long

    'define the worksheet
    With Worksheets("sheet1")

        'used range in column D
        With .Range(.Cells(4, "D"), .Cells(Rows.Count, "D").End(xlUp))

            'all dates in column D
            With .SpecialCells(xlCellTypeConstants, xlNumbers)

                'loop through Areas of discontiguous range
                For a = 1 To .Areas.Count

                    'identify Area and expand to 4 columns wide
                    With .Areas(a).Resize(, 4)

                        'sort on the third column in ascending order
                        .Sort key1:=.Cells(1, 3), order1:=xlAscending, Header:=xlNo

                    End With

                Next a

            End With

        End With

    End With

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...