Страницы: 1
RSS
Объединить по столбцам ячейки, идущие подряд
 
Добрый день уважаемые форумчане!! Можно ли сформировать данные в отчете как в приложенном файле? Сводная не подходит, так как расставляет данные в алфавитном порядке. Требуется расстановка как в исходных данных.

Заранее благодарен!
 
Все же сводная, с сортировкой.
см. #5
Изменено: TheBestOfTheBest - 17.10.2017 15:37:39
Неизлечимых болезней нет, есть неизлечимые люди.
 
Вопрос в следующем. Согласно имеющихся данных необходимо сформировать данные по иерархии. За основу взял админ.-тер. деление. То есть Экономический район - Область - Город - Район - Улица. Соответственно в экономических районах есть области, в которых есть города и т.д. Каким образом можно сгрупировать данные. Скорее всего это макрос. Но мои знания в этой области нулевые...
 
kord, проверяйте:
Код
Sub Summarise()
Application.ScreenUpdating = False
    Range([A1], [A1].End(xlDown).End(xlToRight)).RemoveDuplicates Columns:=Array(1, 2, 3, 4, 5), Header:=xlYes
    Dim mergeRn As Range, rrow As Range
    With Range([A1], [A1].End(xlDown).End(xlToRight))
        For Each ccol In .Columns
           For i = 3 To ccol.Rows.Count
            Set rrow = ccol.Rows(i)
            If rrow.Value = ccol.Rows(i - 1).Value Then
                If mergeRn Is Nothing Then
                    Set mergeRn = Union(ccol.Rows(i - 1), rrow)
                Else
                    Set mergeRn = Union(mergeRn, rrow)
                End If
            Else
                If Not mergeRn Is Nothing Then
                    Application.DisplayAlerts = False
                    If mergeRn.Cells.Count > 1 Then mergeRn.Merge
                    mergeRn.VerticalAlignment = xlCenter
                    Set mergeRn = Nothing
                    End If
                    Application.DisplayAlerts = True
                End If
            Next i
        Next ccol
        .EntireColumn.AutoFit
    End With
Application.ScreenUpdating = True
End Sub
In GoTo we trust
 
Может все же сводная с сортировкой?
Неизлечимых болезней нет, есть неизлечимые люди.
 
Код
Sub MakeReport()
  Dim ws As Worksheet, p&(1 To 5), c&, r&, i&
  Set ws = ActiveSheet:  Worksheets.Add after:=Worksheets(Worksheets.Count)
  With ws
    .Cells(1, 1).Resize(1, 5).Copy Cells(1, 1)
    r = 2:  For i = 1 To 5: p(i) = r: Cells(r, i) = .Cells(r, i): Next: r = 3
    Do While Not IsEmpty(.Cells(r, 1))
      If .Cells(r, 5) = Cells(p(5), 5) Then
        r = r + 1
      Else
        p(5) = p(5) + 1: Cells(p(5), 5) = .Cells(r, 5)
        For i = 4 To 1 Step -1
          If Cells(p(i), i) <> .Cells(r, i) Then
            If p(i) <> p(i + 1) - 1 Then Range(Cells(p(i), i), Cells(p(i + 1) - 1, i)).MergeCells = True
            p(i) = p(i + 1): Cells(p(i), i) = .Cells(r, i)
          Else
            Exit For
          End If
        Next
      End If
    Loop
    ActiveSheet.UsedRange.Borders.LineStyle = xlContinuous: Range("A:D").VerticalAlignment = xlCenter: Range("A:E").EntireColumn.AutoFit
  End With
End Sub
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
kord, и снова здравствуйте)) ну во-первых тут принципиально другой вид группировки, подразумевающий объединённые ячейки — которых стандартная сводная никогда вам не сделает. Вот универсальный макрос, который объединяет в выделенном диапазоне значения, идущие подряд (по столбцам)
КОД
Изменено: Jack Famous - 17.10.2017 15:09:11
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Спасибо вам за помощь!!! Похоже, то что надо!!!
 
Уважаемый TheBestOfTheBest! Скажите, как построить такую сводную? С чего начать?
 
пожалуйста))
Цитата
kord написал:
как построить такую сводную
(см. скрин). Но этот вид не подразумевает объединённые ячейки
Изменено: Jack Famous - 17.10.2017 15:08:50
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Цитата
kord написал:
Уважаемый  TheBestOfTheBest ! Скажите, как построить такую сводную? С чего начать?
К исходной таблице добавьте столбцы сортировок (в файле скрыты), потом эти столбцы добавьте в сводную (а файле они скрыты).
Неизлечимых болезней нет, есть неизлечимые люди.
 
Уважаемые tolstak, TheBestOfTheBest, Ігор Гончаренко СПАСИБО за помощь!!! Подходят все варианты!! Особая благодарность уважаемому Jack Famous!!
Страницы: 1
Наверх