Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Liste aus Tabelle erstellen
#1
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
Antworten Top
#2
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
[-] Folgende(r) 1 Nutzer sagt Danke an Fennek für diesen Beitrag:
  • thesithesithesi
Antworten Top
#3
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 ...


Angehängte Dateien
.xlsx   Präferenzdaten _ v2.xlsx (Größe: 20,45 KB / Downloads: 8)
Antworten Top
#4
Hallo,

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

mfg
Antworten Top
#5
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...
Antworten Top
#6
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
Antworten Top
#7
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).
Beste Grüße
  Günther

Excel-ist-sexy.de
  …schau doch mal rein!
Der Sicherheit meiner Daten wegen lade ich keine *.xlsm bzw. *.xlsb- Files mehr herunter! -> So geht's ohne!
Antworten Top
#8
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
Antworten Top
#9
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
Beste Grüße
  Günther

Excel-ist-sexy.de
  …schau doch mal rein!
Der Sicherheit meiner Daten wegen lade ich keine *.xlsm bzw. *.xlsb- Files mehr herunter! -> So geht's ohne!
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste