Clever-Excel-Forum

Normale Version: Liste aus Tabelle erstellen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

es wäre klasse, wenn mir jemand von euch bei meinem Problem helfen könnte.

Ich habe eine Liste mit 10 Spalten und 187 Zeilen, wobei Zellen jeweils verschiedene (wiederkehrende) Unternehmensnamen enthalten. Insgesamt sind es 157 Unternehmensnamen.
Nun möchte ich eine Liste aus zwei Spalten daraus generieren. In der ersten Spalte sind alle Unternehmen aufgelistet. In der zweiten Spalte sollen dann jeweils die Unternehmen gelistet werden, die mit dem Unternehmen aus Spalte A irgendwo in der Liste in derselben Zeile auftauchen. 

Wie funktioniert das in Excel?
Hier mal ein Beispiel, vielleicht ist mein Anliegen so verständlicher?
Beispiel:

die Tabelle:
ADIDAS PUMA UVEX SIEMENS
AUDI ADIDAS UVEX KPMG
DAIMLER PUMA BMW SIEMENS

die Liste sollte dann so aussehen:
Adidas Puma
Adidas Uvex
Adidas Siemens
Puma Adidas
Puma Uvex
Puma SIemens
Uvex adidas
uvex Puma
uvex siemens
uvex Audi
uvex kpmg
siemens adidas
siemens Puma
siemens uvex
.... und so weiter!

Kann mir jemand weiterhelfen? Ich wäre sooooo dankbar für Hilfe!!! LG Thesi
Hallo,

teste mal diesen Code:


Code:
Sub Test()
For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
    Tx = Split(Cells(i, "A"))
    For j = 0 To UBound(Tx)
        For k = 0 To UBound(Tx)
            If j <> k Then
            r = r + 1
                Cells(r, "D").Resize(, 2) = Array(Tx(j), Tx(k))
            End If
        Next k
    Next j
Next i
End Sub
In Spalte A stehen die Unternehmensnamen, Ausgabe in Spalte D und E.
mfg
Danke für die schnelle Hilfe!
Ich bin wirklich ein Excel Anfänger, daher weiß ich nicht genau an welchen Stellen im Code ich die entsprechenden Zeilen und Spalten aus meiner Datei einfügen muss? Ich hänge mal meine Beispieldatei an.
Oh man :(
Ich bin langsam wirklich verzweifelt damit ...
Hallo,

fehlt in der Tabelle die Ausgangsliste? Es sieht eher nach dem Ergebnis aus.

mfg
Also die Ausgangsliste findet sich in den Spalten mit den Namen v_1 bis v_10. Und in der Spalte "employer" sind alle Unternehmensnamen gelistet die sich in der Tabelle v_1 bis v_10 befinden....
insofern istdie spalte "employer" zumindest bereits ein Teil des Ergebnisses...
Hallo,

ungetestet


Code:
Sub Test()

For i = 2 To Cells(Rows.Count, "C").End(xlUp).Row
T1 = trim(join(Range(cells(i,3),cells(i,12)), " "))

   Tx = Split(T1)
   For j = 0 To UBound(Tx)
       For k = 0 To UBound(Tx)
           If j <> k Then
           r = r + 1
               Cells(r, "O").Resize(, 2) = Array(Tx(j), Tx(k))
           End If
       Next k
   Next j
Next i
End Sub


Der Code muss in ein allgemeines Modul eingefügt  und dann die Datei als *.xlsm (mit Makro) gespeichert werden.

mfg
Moin,
schade, dass du deine "persönliche" Namensgebung für die Zellen bzw. deren Adressierung verwendest, sonst wäre konkrete Hilfe leichter. Am leichtesten wäre natürlich eine kleine Musterdatei gewesen ...  Dodgy
Ich gehe aber davon aus, dass du über Daten-Abrufen und transformieren und dann mit dem Stichwort Entpivotieren weiter kommst (ohne eine Zeile Code).
Hallo Günther,

danke für deine Antwort.
Tut mir leid, ich bin leider ein kompletter Excel Neuling... Wie muss ich denn meine Datei aufbereiten, damit ihr mir weiterhelfen könnt?
Leider kam ich mit Entpivotieren nicht weiter...

Viele Grüße
Moin,
ich fange einmal damit an, dass ich deine Muster-Datei nicht gesehen hatte ... Blush sorry.
Dass du nicht weiter kommst liegt wahrscheinlich / vielleicht auch daran, dass komplette Leerspalten (hier: Spalte_B) eine Tabelle zerstören. Darum habe ich erst einmal in B1 das Wort "leer" geschrieben. Obwohl ich glaube, dass du die trotzdem nicht brauchst ... Wie auch immer... (Alternativ kannst du auch gleich nur in den Bereich ab V1 klicken)
  • Danach ein Klick in die Daten und Daten-Aus Tabelle.
  • Die ersten beiden Spalten (bei Bedarf) löschen
  • Spalte V1 markieren (Überschrift)
  • Rechtsklick in die Überschrift, Andere Spalten entpivotieren
  • Spalte Attribut löschen
  • Schließen & laden
  • freuen