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.

Crosssellingübersichten
#1
Hallo Community,

habe schon viel gegoogelt und leider keine brauchbare Lösung für mein Problem gefunden.

Ich habe eine Datenbasis die wie folgt aussieht:

[Bild: 35bgppg.png]

Ziel für eine Uploaddatei ist es, in einer Zeile jeweils in SpalteA den Hauptartikel zu haben, in SpalteB dann den entsprechenden "passendes Werkzeug" Artikel zu haben. Das ganze wiederholt sich dann, der SpalteA Artikel gepaart mit dem SpalteC usw...

Hab schon nach Sverweis mit mehreren Suchtreffen geschaut und auch einige Lösungsansätze mit Makros durchgespielt, aber irgendwie kein richtiges Ergebniss bekommen.

Herausforderung:
Es können mehr als 4 Spalten "Passende ..." sein, es muss aber für eine Systemimportdatei immer der in Spalte A der Hauptartikel sein.

Das ganze manuell gebaut sieht wie folgt aus:

[Bild: 1237c7d.png]

Ich bin echt am verzweifeln, da das ganze immer Manuell zu kopieren bei einer Tabelle mit 300 Hauptartikel und über 3000 "Passende ..." nicht realisierbar ist und weder Pivot noch Sverweis zu einem brauchbaren Ergebnis führt.
Antworten Top
#2
Hallo,

Zitat:Es können mehr als 4 Spalten "Passende ..." sein, ...
Verstehe ich das richtig, dass es aber immer 3 Gruppen sind mit jeweils 4 oder mehr Spalten ?

Dann stell mal statt eines Bildes eine Excel-Datei mit einer Beispiel-Datenbasis zur Verfügung.

Gruß
Aloys
Win 10, Office 2016 / Office 2019
Antworten Top
#3

.xlsx   Crossselling - Kopie.xlsx (Größe: 18,38 KB / Downloads: 4)

Anbei mal die Datei. Tabellenblatt 1 ist eine Arbeitsdatei, hier wird quasi der Quellartikel in Spalte A hinterlegt und in allen weiteren Spalten (Beliebige Anzahl von Spalten, aber immer mit dem Dropdown) dann jeweils der Typ (Werkzeug, Material,...) des Artikels und die entsprechende Artikelnummer hinterlegt.

Für einen Import in unser Tool, benötige ich das Format, wie in Tabellenblatt 2. Also quasi immer Quellartikel und dann in der selben Zeile entsprechende Artikelnummer unter der Typenbezeichnung (Werkzeug, Material,...).

Ich hoffe mit dem Beispiel ist es nun verständlich.
Antworten Top
#4
Hallo,

anbei eine VBA-Lösung als Vorschlag:

Code:
Option Explicit

Sub Crossselling()
   Dim wsZ As Worksheet    ' Ziel-Tabelle
   Dim q As Long           ' Zeilen# Quell-Tabelle
   Dim c As Long           ' Spalten# Quell-Tabelle
   Dim z As Long           ' Zeilen# Ziel-Tabelle
   Dim s As Long           ' Spalten# Ziel-Tabelle
   Dim n As Long           ' Schleifenzähler
   Dim LRow As Long        ' Nr letzte Zeile in Quell-Tabelle
   Dim LCol As Long        ' Nr letzte Spalte in Quell-Tabelle
   Dim erg As Variant      ' Ergebnis Match
   
' Initialisierung
   Set wsZ = Worksheets("Zieldatei")            ' Ziel-Tabelle
   With wsZ
       LRow = .Cells(Rows.Count, "A").End(xlUp).Row
       If LRow > 2 Then .Range("A3:E" & LRow).ClearContents
   End With
   
   With Worksheets("Quelldatei")
       LRow = .Cells(Rows.Count, "A").End(xlUp).Row            ' letzte Zeile Quell-Tabelle
       LCol = .Cells(1, Columns.Count).End(xlToLeft).Column    ' letzte Spalte in Zeile 1 der Quell-Tabelle
       z = 2                           ' Start-Zeile Ziel-Tabelle
       
' Erstellen Ziel-Tabelle
       For c = 2 To LCol               ' Spalte# Quelldatei
           erg = Application.Match(.Cells(1, c), wsZ.Range("B2:E2"), 0)
           If Not IsNumeric(erg) Then
               MsgBox "Überschrift in Sp " & c & " in Zieldatei nicht gefunden!", vbCritical
               Exit Sub
           End If
           s = erg + 1                 'Spalten# Zieldatei

'         Für jede Quelldatei-Spalte wird gesamte Hauptartikelliste gelistet
           For q = 2 To LRow
               z = z + 1
               wsZ.Range("A" & z) = .Range("A" & q)        ' Hauptartikel
               wsZ.Cells(z, s) = .Cells(q, c)
           Next q
       Next c
   End With
End Sub
Win 10, Office 2016 / Office 2019
[-] Folgende(r) 1 Nutzer sagt Danke an aloys78 für diesen Beitrag:
  • pschoener
Antworten Top
#5
Thumbs Up 
Hallo Aloys78

Vielen Dank für die VBA-Lösung. Funktioniert.

Grüße
pschoener
Antworten Top


Gehe zu:


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