kord, и снова здравствуйте)) ну во-первых тут принципиально другой вид группировки, подразумевающий объединённые ячейки — которых стандартная сводная никогда вам не сделает. Вот универсальный макрос, который объединяет в выделенном диапазоне значения, идущие подряд (по столбцам)
КОД |
---|
Код |
---|
Sub MergeAuto()
If TypeName(Selection) <> "Range" Then Exit Sub
If Selection.Cells.Count <= 1 Then Exit Sub
Dim rColumn As Range, rCell As Range, sAddress$, rMerge As Range, rTarget As Range
Application.ScreenUpdating = 0
Application.DisplayAlerts = 0
Set rTarget = Intersect(Selection, ActiveSheet.UsedRange)
For Each rCell In rTarget
If rCell.MergeCells Then
sAddress = rCell.MergeArea.Address: rCell.UnMerge
Range(sAddress).Value = rCell.Value
End If
Next
rTarget.Select
'Stop
For Each rColumn In rTarget.Columns
For Each rCell In rColumn.Cells
If rMerge Is Nothing Then
Set rMerge = rCell
Else
If rMerge(1).Value = rCell.Value Then
Set rMerge = Union(rMerge, rCell): rMerge.Merge
Else
Set rMerge = rCell
End If
End If
Next
Set rMerge = Nothing
Next
Application.DisplayAlerts = 1
Application.ScreenUpdating = 1
End Sub |
|