Spalteninhalte logisch ausrichten

28/08/2007 - 11:55 von Thomas Billert | Report spam
Hallo alle,

ich habe eine Tabelle mit zwei Gruppen gleicher Daten (Spalte 1+2 und
Spalte 3+4), jeweils Katalognummern und zugehoeriger Preis. Nun moechte
ich Gruppe 1 zu Gruppe 2 logisch ausrichten, so dass immer gleiche
Katalognummern in einer Zeile stehen. Beispiel:

Aus

Katnr.1 Preis1 Katnr.2 Preis2

AA-001 100 AA-001 120
AA-002 135 AA-102 135
AB-001 156 AA-103 178
AB-002 678 AB-001 156
AC-001 566 AB-002 665
AC-002 555 AC-002 555

soll werden

Katnr.1 Preis1 Katnr.2 Preis2

AA-001 100 AA-001 120
AA-002 135 AA-102 135
AA-103 178
AB-001 156 AB-001 156
AB-002 678 AB-002 665
AC-001 566
AC-002 555 AC-002 555


Wie kann ich das mittels Excel bewerkstelligen?

Vielen Dank!

Gruss aus Jena,

Thomas.
 

Lesen sie die antworten

#1 Wolfgang Habernoll
28/08/2007 - 17:25 | Warnen spam
Hallo Thomas

"Thomas Billert" schrieb im Newsbeitrag
news:
Hallo alle,

ich habe eine Tabelle mit zwei Gruppen gleicher Daten (Spalte 1+2 und
Spalte 3+4), jeweils Katalognummern und zugehoeriger Preis. Nun moechte
ich Gruppe 1 zu Gruppe 2 logisch ausrichten, so dass immer gleiche
Katalognummern in einer Zeile stehen. Beispiel:

Aus

Katnr.1 Preis1 Katnr.2 Preis2

AA-001 100 AA-001 120
AA-002 135 AA-102 135
AB-001 156 AA-103 178
AB-002 678 AB-001 156
AC-001 566 AB-002 665
AC-002 555 AC-002 555

soll werden

Katnr.1 Preis1 Katnr.2 Preis2

AA-001 100 AA-001 120
AA-002 135 AA-102 135
AA-103 178
AB-001 156 AB-001 156
AB-002 678 AB-002 665
AC-001 566
AC-002 555 AC-002 555

Wie kann ich das mittels Excel bewerkstelligen?



Nicht ganz einfach, ist in Katnr.2 AA-102 (-002) ein Schreibfehler, wenn
nicht sollte das Ergebnis dann
nicht so aussehen ?
AA-001 100 AA-001 120
AA-002 135
AA-102 135
AA-103 178
AB-001 156 AB-001 156
AB-002 678 AB-002 665
AC-001 566
AC-002 555 AC-002 555

kommt auch eine VBA Lösung in Frage dann versuche es mal damit. Die Bereiche
müssen aber wie im Beispiel sortiert sein. Achtung es dürfen sich auch *
keine Daten unterhalb* der Gruppen befinden. Passe den Tabellennamen ggf.
an und nimm erst mal eine Testdatei.


Sub GruppenAusrichten()
Dim lngLR As Long
Dim lngEnd As Long
Dim lngI As Long
Dim wksTab As Worksheet

'' Tabellennamen hier anpassen
Set wksTab = Application.Worksheets("Tabelle1")

lngLR = Rows.Count
lngEnd = WorksheetFunction.Max(Range("A" & _
lngLR).End(xlUp).Row, Range("C" & lngLR).End(xlUp).Row)

lngI = 1
Do While lngI <= lngEnd
If wksTab.Cells(lngI, 1) <> "" Or wksTab.Cells(lngI, 3) <> "" Then
If wksTab.Cells(lngI, 1) < wksTab.Cells(lngI, 3) Then
wksTab.Range(Cells(lngI, 3), _
Cells(Range("C" & Rows.Count).End(xlUp).Row, 4)).Cut _
Destination:=wksTab.Range(Cells(lngI + 1, 3), _
Cells(Range("C" & Rows.Count).End(xlUp).Row + 1, 4))
ElseIf wksTab.Cells(lngI, 1) > wksTab.Cells(lngI, 3) Then
wksTab.Range(Cells(lngI, 1), _
Cells(Range("A" & Rows.Count).End(xlUp).Row, 2)).Cut _
Destination:=wksTab.Range(Cells(lngI + 1, 1), _
Cells(Range("A" & Rows.Count).End(xlUp).Row + 1, 2))
End If
End If
lngEnd = WorksheetFunction.Max(Range("A" & _
lngLR).End(xlUp).Row, Range("C" & lngLR).End(xlUp).Row)
lngI = lngI + 1
Loop
End Sub

mfG
Wolfgang Habernoll

[ Win XP Home SP-2 , XL2002 ]

Ähnliche fragen