07.09.2017, 18:23 (Dieser Beitrag wurde zuletzt bearbeitet: 07.09.2017, 18:24 von thesithesithesi.)
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
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:1 Nutzer sagt Danke an Fennek für diesen Beitrag 28 • thesithesithesi
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 ...
07.09.2017, 19:45 (Dieser Beitrag wurde zuletzt bearbeitet: 07.09.2017, 19:46 von thesithesithesi.)
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...
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.
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 ... 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!
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...
Moin, ich fange einmal damit an, dass ich deine Muster-Datei nicht gesehen hatte ... 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!