Herbers Excel-Forum - das Archiv
Liste umsortieren
Betrifft: Liste umsortieren
von: Gert
Geschrieben am: 03.01.2007 11:01:51
Hallo Leute,
ich habe ein Problem und komme einfach nicht auf eine Lösung. Ich habe eine lange Excel-Liste, deren 2 Spalten sich regelmäßig in folgendem Stil wiederholen:
Name, Text1
Adresse, Text2
Telefon, Text3
Name, Text4
Adresse, Text5
Telefon, Text6
usw.
Zur Weiterverarbeitung bräuchte ich aber:
Name, Text1, Text4,...
Adresse, Text2, Text5,...
Telefon, Text3, Text 6,...
Kann mir jemand bitte einen Tipp geben, wie ich diese Liste umformatieren kann?
Vielen Dank
Gert
Betrifft: AW: Liste umsortieren
von: Erich G.
Geschrieben am: 03.01.2007 12:32:46
Hallo Gert,
wie ist das zu verstehen?
In Tabellenform:
| A | B | C |
1 | Name | Text1 | |
2 | Adresse | Text2 | |
3 | Telefon | Text3 | |
4 | Name | Text4 | |
5 | Adresse | Text5 | |
6 | Telefon | Text6 | |
7 | | | |
8 | | | |
9 | | | |
10 | Name | Text1 | Text4 |
11 | Adresse | Text2 | Text5 |
12 | Telefon | Text3 | Text6 |
13 | | | |
14 | | | |
15 | | | |
16 | Name | Adresse | Telefon |
17 | Text1 | Text2 | Text3 |
18 | Text4 | Text5 | Text6 |
Sollen die Zeilen 1 bis 6 umgeformt werden in die Zeilen 10-12 oder in die Zeilen 16-18?
Sind Text1 und Text4 konkrete Namen?
Rückmeldung wäre nett! - Erich aus Kamp-Lintfort wünscht allen einen guten Start ins neue Jahr!
Betrifft: AW: Liste umsortieren
von: Gert
Geschrieben am: 03.01.2007 13:17:44
Hallo Erich,
danke, dass du dich meinem Problem annimmst. Ideal wäre es so wie in der Zeile 16-18 dargestellt. Ich würde es gerne einmalig "per Hand" umstellen (also wenn es geht nicht unbedingt mit Macro usw.)
Danke und ebenfalls ein gutes Neues Jahr aus Österreich
Gert
PS: Was ich als Text1, Text2,... dargestellt habe, sind konkrete Namen, Adressen und Telefonnummern.
Betrifft: AW: Liste umsortieren
von: Erich G.
Geschrieben am: 03.01.2007 14:59:16
Hallo Gert,
wenn die Struktur so regelmäßig ist, ginge das so:
| A | B | C | D | E | F |
1 | Name | Text1 | | Name | Adresse | Telefon |
2 | Adresse | Text2 | | Text1 | Text2 | Text3 |
3 | Telefon | Text3 | | Text4 | Text5 | Text6 |
4 | Name | Text4 | | Text7 | Text8 | Text9 |
5 | Adresse | Text5 | | Text10 | Text11 | Text12 |
6 | Telefon | Text6 | | Text13 | Text14 | Text15 |
7 | Name | Text7 | | 0 | 0 | 0 |
8 | Adresse | Text8 | | | | |
9 | Telefon | Text9 | | | | |
10 | Name | Text10 | | | | |
11 | Adresse | Text11 | | | | |
12 | Telefon | Text12 | | | | |
13 | Name | Text13 | | | | |
14 | Adresse | Text14 | | | | |
15 | Telefon | Text15 | | | | |
Formeln der Tabelle |
Zelle | Formel | D1 | =A1 | E1 | =A2 | F1 | =A3 | D2 | =INDIREKT("B"&3*ZEILE()-5) | E2 | =INDIREKT("B"&3*ZEILE()-4) | F2 | =INDIREKT("B"&3*ZEILE()-3) | D3 | =INDIREKT("B"&3*ZEILE()-5) | E3 | =INDIREKT("B"&3*ZEILE()-4) | F3 | =INDIREKT("B"&3*ZEILE()-3) |
|
Du kannst die Formeln von D2, E2, F2 nach unten kopieren.
Hinterher kannst du ja die Formeln durch Werte ersetzen (ganzen Bereich markieren, kopieren,
mit "Bearbeiten - Inhalte einfügen - Werte" wieder einfügen.
Danach kannst du die Spalte A bis C löschen.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Betrifft: AW: Liste umsortieren
von: Gert
Geschrieben am: 03.01.2007 17:57:23
Lieber Erich aus Kamp-Lintfort,
also jetzt habe ich aber was dazugelernt! Die Funktion INDIREKT habe ich noch nicht gekannt und diese Art der Anwendung...muss schon sagen, genial!
Danke für die Hilfe, mein Problem ist damit gelöst.
lg
Gert
PS: Deine Art der Hilfestellung ist ausgesprochen gut zu lesen!
Betrifft: Danke für deine Rückmeldung - und noch ...
von: Erich G.
Geschrieben am: 03.01.2007 20:04:37
Hallo Gert,
freut mich, dass es funzt!
... ein Tipp:
http://www.excel-jeanie-html.de/
Damit lassen sich auch Daten zu Fragen gut darstellen.
Grüße von Erich aus Kamp-Lintfort
Betrifft: AW: Liste umsortieren
von: fcs
Geschrieben am: 03.01.2007 13:03:39
Hallo Gert,
bei einer sehr langen Liste (mehr als 255 Namen) gibt es ein Problem mit der maximalen Spaltenzahl.
Hier mal zwei Makros, mit denen man die Daten umgruppieren kann. Entweder in 3 Spalten oder in 3 Zeilen.
Sub DatenUmgruppieren2()
'Gruppiert Adressen in 3 Spalten um
Dim wks1 As Worksheet, wks2 As Worksheet, text As Variant
Dim Zeile1 As Long, Zeile2 As Long, I As Integer, J As Long
Set wks1 = ActiveWorkbook.Sheets("Tabelle1") 'Quelltabelle
Set wks2 = ActiveWorkbook.Sheets("Tabelle2") 'Zieltabelle
Zeile2 = 1
With wks2
.Cells.ClearContents 'Daten in Zieltabelle löschen
'Spaltentitel eintragen
.Cells(Zeile2, 1) = wks1.Cells(1, "A").Value
.Cells(Zeile2, 2) = wks1.Cells(2, "A").Value
.Cells(Zeile2, 3) = wks1.Cells(3, "A").Value
'Daten übertragen aus Spalte B
For J = 1 To wks1.Cells(wks1.Rows.Count, 1).End(xlUp).Row
Zeile2 = Zeile2 + 1
For I = 1 To 3
Zeile1 = Zeile1 + 1
.Cells(Zeile2, I).Value = wks1.Cells(Zeile1, "B").Value
Next
Next
End With
End Sub
Sub DatenUmgruppieren1()
'Gruppiert Adressen in 3 Zeilen um
Dim wks1 As Worksheet, wks2 As Worksheet, text As Variant
Dim Zeile1 As Long, Spalte2 As Long, I As Integer, Zeile2 As Long, J As Long
Set wks1 = ActiveWorkbook.Sheets("Tabelle1") 'Quelltabelle
Set wks2 = ActiveWorkbook.Sheets("Tabelle2") 'Zieltabelle
Spalte2 = 1
Zeile2 = 0
With wks2
.Cells.ClearContents 'Daten in Zieltabelle löschen
'Zeielntitel eintragen
.Cells(1, Spalte2) = wks1.Cells(1, "A").Value
.Cells(2, Spalte2) = wks1.Cells(2, "A").Value
.Cells(3, Spalte2) = wks1.Cells(3, "A").Value
'Daten übertragen aus Spalte B
For J = 1 To wks1.Cells(wks1.Rows.Count, 1).End(xlUp).Row
If Spalte2 = wks2.Columns.Count Then
MsgBox "Alle Spalten der Tabelle sind ausgefüllt. 4 Zeilen unterhalb geht es weiter"
Spalte2 = 1
Zeile2 = Zeile2 + 4
.Cells(Zeile2 + 1, Spalte2) = wks1.Cells(1, "A").Value
.Cells(Zeile2 + 2, Spalte2) = wks1.Cells(2, "A").Value
.Cells(Zeile2 + 3, Spalte2) = wks1.Cells(3, "A").Value
End If
Spalte2 = Spalte2 + 1
For I = 1 To 3
Zeile1 = Zeile1 + 1
.Cells(Zeile2 + I, Spalte2).Value = wks1.Cells(Zeile1, "B").Value
Next
Next
End With
End Sub
Die Namen der Tabellen muss du ggf. anpassen.
Gruß
Franz
P.S. Formellösung mit Funktion INDIREKT und kompliziertem umrechnen von Zeilen und Spalten ginge wohl auch, dannach steht mir aber z.Zt. nicht der Sinn.
Betrifft: AW: Liste umsortieren
von: Gert
Geschrieben am: 03.01.2007 13:33:09
Hallo Franz,
vielen Dank für deine Lösung. Ich würde eigentlich eine "händische" Einmalumstellung bevorzugen. Vielleicht geht das ja, ansonst werde ich mich wohl über dein Makro wagen müssen (Makros sind nicht so ganz meins;-)
liebe Grüße
Gert