Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1396to1400
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Liste untereinander > nebeneinander

Liste untereinander > nebeneinander
17.12.2014 11:38:06
Axel
Ich habe folgende Daten in Excel:
##001
Artikel1
Artikel2
Artikel3
++002
Artikel4
Artikel5
Artikel6
++003
Artikel7
Artikel8
Artikel9
Und brauche sie in dieser Form:
##001 Artikel1 Artikel2 Artikel3
++002 Artikel4 Artikel5 Artikel6
++003 Artikel7 Artikel8 Artikel9
Die Zeichen ## und ++ sind eindeutig vorhanden, also nicht in den Artikeln.
Wie kann ich das machen?

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Liste untereinander > nebeneinander
17.12.2014 11:56:21
Tom
Was bedeuten die Zeichen # und + ? Platzhalter?
Davon ausgehend, dass Deine Daten untereinander in Spalte A stehen, würde ich folgendes machen:
In Zelle B1 folgende Formel eingeben: =A1 & " " & A2 & " " & A3 & " " & A4
In Zelle B2 dann: =A5 & " " & A6 & " " & A7 & " " & A8
usw. ;-)

AW: Liste untereinander > nebeneinander
17.12.2014 12:03:45
Daniel
Hi
annahme die Daten stehen ohne Überschrift in Spalte A ab Zeile 1.
Dann so vorghehen:
1. Folgende Formel in B1 und bis ans Tabellenende runterziehen:
=A1&";"&Wenn(oder(Links(A2;1)="#";Links(A2;1)="+";Links(A2;1)="");"";B2)

2. Spalte B kopieren und als Text einfügen
3. Spalte B soriteren, jetzt sollten oben die Zeilen stehen, die mit "+" oder "#" anfangen und die Artikel unten.
4. Lösche die Artikel
5. Wende auf die Spalte B die Funktion DATEN - DATENTOOLS - TEXT IN SPALTEN an. Verwende das Semikolon als Trennzeichen. Formatiere die erste Spalte als Text (im Schritt 3, sonst werden deine Zeilen, die mit "+" beginnen als Formel interpretiert.
sollte es tatsächlich so sein, dass ein Datensatz immer aus genau 4 Zeilen besteht, dann geht auch folgende Formel in B1:
=Index($A:$A;4*(Zeile($A1)-1)+Spalte(A$1))

Diese Formel ziest du dann bis E1 und soweit nach unten wie benötigt.
Dann kopiere Spalte B-E und füge sie an selber stelle als Wert ein und Lösche Spalte A
Funktioniert aber wie gesagt nur, wenn alle Datensätze genau gleich aufgebaut sind (hier 1+3).
Kann die Anzahl der Artikel variieren, musst du die erste Variante nehmen.
Gruß Daniel
Gruß Daniel

Anzeige
AW: Liste untereinander > nebeneinander
17.12.2014 12:47:48
yummi
Hallo Axel,
falls es etwas variabler sein soll, als die bisher vorgeschlagenen Lösungen nimm mal die beiden Makros und lass sie laufen
Das 1. Sortiert dir deien Artikel in die richtige Zeile und wenn alles so ist, wie du es haben willst, dann kannst du mit dem 2. die Artikel Zeilen löschen.
Ich weiß, hätte man auch in einem Schritt machen können, aber ist bewusst aufgeteilt ;-)

Option Explicit
Sub umsortieren()
Dim letztezeile As Long
Dim i As Long
Dim imerkezeile As Long
Dim imerkeSpalte As Integer
letztezeile = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
imerkeSpalte = 2
imerkezeile = 1
For i = 1 To letztezeile
If (InStr(1, ActiveSheet.Cells(i, 1).Value, "##", vbTextCompare)  0 Or InStr(1,  _
ActiveSheet.Cells(i, 1).Value, "++", vbTextCompare)  0) Then
imerkezeile = i
imerkeSpalte = 2
Else
With ActiveSheet
.Range(.Cells(i, 1), .Cells(i, 1)).Copy .Range(.Cells(imerkezeile, imerkeSpalte) _
, .Cells(imerkezeile, imerkeSpalte))
End With
imerkeSpalte = imerkeSpalte + 1
End If
Next i
End Sub
Sub löscheArtikel()
Dim letztezeile As Long
Dim i As Long
Dim strRange As String
letztezeile = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
For i = letztezeile To 1 Step -1
If (InStr(1, ActiveSheet.Cells(i, 1).Value, "##", vbTextCompare) = 0 And InStr(1,  _
ActiveSheet.Cells(i, 1).Value, "++", vbTextCompare) = 0) Then
strRange = i & ":" & i
ActiveSheet.Rows(strRange).Delete Shift:=xlUp
End If
Next i
End Sub
Gruß
yummi

Anzeige
AW: Liste untereinander > nebeneinander
17.12.2014 14:13:54
Axel
vielen Dank für Eure Antworten. Mit der Formel von Daniel klappt es wunderbar.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige