Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Jak na hromadné slučování buněk v Excelu

Dobrý den,
chtěl bych se zeptat jak v Excelu sloučit více buněk na základě shodnosti hodnot v jiných buňkách. Dělat to ručně pro tisíce záznamů je zhola nemožné a bohužel mě napadá jen jakési řešení pomocí makra, o čemž toho bohužel moc nevím. Jestli je to jediná možnost, poradil by mi někdo jak s tím makrem začít a jak ho následně upravit k obrazu svému?

Moc děkuji
Petr

Malý příklad:
201000 513 E a 11 -
201000 513 E a 14 -
201000 513 F a 11 / - \
201000 513 F a 11 | - > sloučit
201000 513 F a 11 \ - /

Předmět Autor Datum
Áno, toto dosiahneš najjednoduchšie makrom a nie je to vôbec ťažké. Musíš však myslieť na to, že zlú…
los 15.07.2008 11:56
los
Diky za radu. S nazorem o ne vzdy vhodnem slucovani bunek plne souhlasim, ale v tomto pripade nejsou…
Brumík 15.07.2008 12:32
Brumík
Ok, takže by som vložil do Excelu takéto makro, nastavil by som kurzor do stĺpca s bunkami, ktoré sa…
los 15.07.2008 14:19
los
Díky moc losi, tohle mi maximálně pomohlo a opravdu to dělá to čeho jsme chtěli původně docílit. Má… poslední
Brumík 15.07.2008 14:47
Brumík

Áno, toto dosiahneš najjednoduchšie makrom a nie je to vôbec ťažké. Musíš však myslieť na to, že zlúčenie buniek ti môže skomplikovať vzorce, ktoré sa odkazujú do zlúčenej oblasti. Preto by som to radšej riešil tak, že by som vložil podmienené formátovanie, ktoré by schovalo text (napr. biele písmo na bielom pozadí) v prípade, že je rovnaký ako obsah bunky nad ním.

Ak by to bolo čo i len trochu možné, tak zlučovaniu buniek v tej časti excelovského listu, ktorá obsahuje dáta, by som sa úplne vyhol.

Diky za radu. S nazorem o ne vzdy vhodnem slucovani bunek plne souhlasim, ale v tomto pripade nejsou v listu zadne vzorce a dana data nebude nic narusovat, to slouceni je opravdu zadouci. Neni to pro me, ale pro kolegyni a tak nevim jeji konecny zamer, jen po me chtela radu na to jak to udelat co nejsnadneji.

Ok, takže by som vložil do Excelu takéto makro, nastavil by som kurzor do stĺpca s bunkami, ktoré sa majú pospájať a spustil by som ho. Potom by som ho odtiaľ vyhodil:

Sub MergeCellsInActiveColumn()
    Dim aColumn As Range
    Dim aCell As Range
    Dim bCell As Range
    
    Set aColumn = Intersect(ActiveSheet.UsedRange, ActiveSheet.Columns(ActiveCell.Column))

    If Not aColumn Is Nothing Then
        Set aCell = aColumn.Cells(1, 1)
        
        For Each bCell In aColumn.Cells
            If aCell.Value <> bCell.Offset(1).Value Then
                If (aCell.Address <> bCell.Address) Then
                    Range(aCell.Offset(1), bCell).ClearContents
                    Range(aCell, bCell).Merge
                End If
                
                Set aCell = bCell.Offset(1)
            End If
        Next bCell
    End If
End Sub

Makro spojí rovnaké susedné bunky v celom stĺpci, v ktorom sa práve nachádza kurzor. Pred spustením treba samozrejme zálohovať pôvodný dokument, keby to náhodou spravilo niečo iné, než si čakal.

Zpět do poradny Odpovědět na původní otázku Nahoru