'Zellen zusammenführen' in einer Tabelle


0

Ich habe ein Excel-Blatt mit einer Reihe von Entitäten, die durch ihre 'Jobnummer' definiert sind. Ich benötige jedoch mehrere Zeilen pro Job, was bedeutet, dass die Spalte Duplikate enthält, z. B. in

Dieses Bild

Gibt es eine Möglichkeit, jede Gruppe identischer Auftragsnummern zu einer einzigen Zeile zusammenzufassen? ist das bevorzugte Layout.

Bevorzugtes Layout

Hinweis: Jeder Auftrag hat garantiert 3 Zeilen, sodass er immer dem gleichen Muster folgt. Gibt es eine Möglichkeit, dies zu tun?


Sie können VBA verwenden, um die Zellen zusammenzuführen und den Inhalt zu zentrieren.
Ron Rosenfeld

Nun, der Grund, warum ich dafür eine Tabelle verwenden möchte, ist, dass die Formeln in anderen Spalten überflutet werden können. Ich bin mir nicht 100% sicher, wie ich das in VBA
einrichten

Sie können keine Zellen in einer Tabelle zusammenführen . Muss es einer sein?
Daniel B

Könnten Sie die gewünschte Ansicht in einer separaten tabellarischen Pivot-Tabelle darstellen?
Mark Fitzgerald

Im Idealfall handelt es sich um eine Tabelle, da durchgehend berechnete Spalten vorhanden sind. Da das Hinzufügen einer Zeile am Ende die Formel nicht erweitert, ist es für die Benutzer des Excel-Arbeitsblatts schwierig, damit zu arbeiten. Ich versuche im Wesentlichen, das Arbeitsblatt zu vereinfachen, damit nicht so viele Fehler gemacht werden, und die Datenredundanz zu verringern. @MarkFitzgerald Es gibt keine Möglichkeit, dass dies ein Pivot-Tisch ist. Ich habe mit der Verwendung von ihnen experimentiert, aber es würde einfach nicht funktionieren
Maxim Srour

Antworten:


2

Versuchen Sie diesen Code:

Sub Test() TitleRow = 1 'if title contain more than one row, change the value 1 to the actual number of rows i = 0 Application.DisplayAlerts = False Do Set StartCell = ActiveSheet.Range("A" & (TitleRow + 3 * i + 1)) Set EndCell = ActiveSheet.Range("A" & (TitleRow + 3 * i + 3)) With ActiveSheet.Range(StartCell, EndCell) .Merge .VerticalAlignment = xlCenter .HorizontalAlignment = xlCenter End With i = i + 1 Loop Until Range("A" & (TitleRow + 3 * i) + 1) = "" Application.DisplayAlerts = True End Sub

Bildbeschreibung hier eingeben


-1

Dies kann einfach mit einem Makro oder VBA durchgeführt werden. Bearbeiten Sie den folgenden Code in VBA gemäß Ihren Anforderungen.

Bereich ("A1: A3"). Mit Auswahl auswählen .HorizontalAlignment = xlCenter .VerticalAlignment = xlBottom .WrapText = False .Orientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit = False .ReadingOrder = xlContext .Merge Selection.Merge With Selection .HorizontalAlignment = xlCenter


Range("A1:A3")definiert den Bereich als absolut. Wie würde ich vorgehen, wenn ich das für jede einzelne Zeilengruppe tun müsste?
Maxim Srour
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.