Sorteren met gegevens samengevoegde cellen

Excel is al lang begrepen de mogelijkheid om aangrenzende cellen samenvoegen tot een grotere, enkele cel. Dit vermogen is gebruikt door vele werkblad ontwerpers om hun werkbladen geven een gepolijste, professionele uitstraling.

Er is een groot nadeel aan het gebruik samengevoegde cellen, maar: Je kunt geen tabellen die ze op te nemen afstand. Als je het probeert, zult u een bericht dat zegt te krijgen "De operatie vereist de samengevoegde cellen dezelfde afmetingen te zijn."

De meest duidelijke oplossing voor het probleem is om samengevoegde cellen gebruiken. Laten we zeggen, bijvoorbeeld dat je een werkblad waarin elke "record" bestaat eigenlijk uit twee rijen hebben, en dat de eerste kolom van het werkblad bevat samengevoegde cellen. (Elke twee-rij plaat begint met twee samengevoegde cellen verspreid over de twee rijen. Deze samengevoegde cel bevat een projectnaam.)

Het is beter om de cellen unmergen in de eerste kolom, maar dan kan je je afvragen hoe je de platen juist gesorteerd maken in het werkblad; hoe de rij paren bij elkaar te houden tijdens een soort. U kunt dit doen door het zetten van uw project naam in de eerste rij en de naam van het project heeft de aanduiding "zz" op de tweede rij. Bijvoorbeeld, als de eerste rij bevat "Wilburn Chemical" (de naam van het project), dan is de tweede rij kon "Wilburn Chemicalzz" bevatten. Formatteren cel van de tweede rij, zodat de naam niet komt opdagen (zoals witte tekst op een witte achtergrond), en u kunt vervolgens met succes sorteren zoals u wilt.

Een andere oplossing is om een ​​macro gebruiken om uw werkblad jongleren en krijg het sorteren gedaan. Ervan uitgaande dat de samengevoegde cellen in kolom A (zoals eerder beschreven), kunt u gebruik maken van de volgende macro om de gegevens door de inhoud van kolom A te sorteren:

Sub sortList ()
Dim sAddStart als Koord
Dim rng als Waaier
Dim rng2 als Waaier
Dim lRows As Long

Application.ScreenUpdating = False
sAddStart = Selection.Address
Set rng = Range ("A1"). CurrentRegion

Met RNG
lRows = .Rows.Count - 1
.Cells (1) .EntireColumn.Insert
.Cells (1) .Offset (0, -1) = "Temp"
.Cells (1) .Offset (1, -1) .FormulaR1C1 = _
"= + RC [1] &" "" "& RIJ ()"
.Cells (1) .Offset (2, -1) .FormulaR1C1 = _
"= + R [-1] C [1] &" "" "& RIJ ()"
Stel rng2 = .Cells (1) .Offset (1, -1) .Resize (lRows, 1)
Bereik (.Cells (2, 0), .Cells (3, 0)). Automatisch aanvullen _
Bestemming: = rng2
rng2.Copy
rng2.PasteSpecial Paste: = xlValues

.Columns (1) .MergeCells = False

.CurrentRegion.Sort _
Key1: = Range ("A2"), Order1: = xlAscending, _
Header: = xlYes, OrderCustom: = 1, _
MatchCase: = False, Orientation: = xlTopToBottom

rng2.EntireColumn.Delete

Met Range (.Cells (2, 1), .Cells (3, 1))
.Merge
.Copy
.Cells (3, 1) .Resize (lRows - 2, 1). _
PasteSpecial Paste: = xlFormats
End With
End With
Application.CutCopyMode = False
Range (sAddStart) .Selecteer
Application.ScreenUpdating = True
End Sub

De macro voegt een tijdelijke kolom, leest de items uit de eerste kolom van de lijst, voegt het rijnummer, kopieert het naar beneden de tijdelijke kolom, unmerges de cellen, sorteert de lijst, verwijdert de tijdelijke kolom, en re-fuseert kolom A. (Dat is een hoop werk om er maar een tafel met samengevoegde cellen te sorteren!)

Deze macro is zeer specifiek voor een bepaalde lay-out van uw gegevens, en daarom zou moeten worden getest en waarschijnlijk aangepast om ervoor te zorgen dat het zou werken met data geformatteerd op een andere manier.

ExcelTips is uw bron voor kosteneffectieve Microsoft Excel training. Deze tip (2581) is van toepassing op Microsoft Excel 97, 2000, 2002 en 2003. U kunt een versie van deze tip voor de ribbon-interface van Excel (Excel 2007 en later) vinden hier: Gegevens sorteren bevattende samengevoegde cellen.


© 2019 Quilcedacarvers.com | Contact us: webmaster# quilcedacarvers.com