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.

Zelle mit mehreren Zahlen durchsuchen und sortieren
#1
Hallo liebe Forenmitglieder,

ich wende mich mit einem Problem an euch, an dem ich seit einer Woche sitze und einfach nicht weiter komme bzw. keinen Ansatz finde, wie ich das Problem lösen könnte. Um mein Anliegen zu verdeutlichen habe ich ein entsprechendes Bild beigefügt.

[Bild: excel-hilfe.jpg]

Problemstellung:
Ich erhalte von unserem Produktlieferanten die Cross-Selling Informationen 8knapp 7000 Artikel) in der Form von den Spalten A (ArtNr.) und B (Art.Nrn der zu verlinkenden Produkte). Die Cross-Selling-Produkte sind alle in einer Zelle mit Komma getrennt. Doch um ein funktionierendes CS im Shop anbieten zu können, muss ich das in die Form von den Spalten C und D bringen. Heisst im Überblick:
  • jeder einzelne Cross-Selling-Artikel muss eindeutig einer Artikelnummer zugeordnet sein
  • Artikelnummern ohne Cross-Selling werden nicht angezeigt bzw. eingefügt
Könnt ihr mir da irgendwie helfen, da ich keine Idee habe, wie ich das in die Form bringen kann bzw. das jeder einzelne CS-Artikel zu der Artikelnummer kommt.

Vielen Dank schon einmal an dieser Stelle für das durchlesen und vielleicht weiß einer ja Rat.

Viele Grüße
Peer
Antworten Top
#2
Hallo,

mit vba sollte dies mit einem überschaubarem Aufwand möglich sein. Falls Interesse, schicke mir eine PN (Nachricht)

mfg
Antworten Top
#3
Hallo Peer,

ich versuche es mal öffentlich, damit auch andere Mitleser etwas davon haben:
Sub Umwandeln()
 Dim varQ As Variant, varT As Variant, varZ As Variant
 Dim i As Long, j As Long, k As Long
 
 varQ = Range("A1").CurrentRegion.Value
 ReDim varZ(1 To 2, 1 To 1)
 varZ(1, 1) = varQ(1, 1)
 varZ(2, 1) = varQ(1, 2)
 k = 1
 For i = 2 To UBound(varQ, 1)
   varT = Split(varQ(i, 2), ",")
   ReDim Preserve varZ(1 To 2, 1 To UBound(varZ, 2) + UBound(varT) + 1)
   For j = 0 To UBound(varT)
     k = k + 1
     varZ(1, k) = Trim(varQ(i, 1))
     varZ(2, k) = Trim(varT(j))
   Next j
 Next i
 varZ = Application.Transpose(varZ)
 
 Range("A1").CurrentRegion = ""
 Range("A1").Resize(UBound(varZ, 1), UBound(varZ, 2)).Value = varZ
End Sub
Gruß Uwe
Antworten Top
#4
Hallo Uwe,

damit rettest du mir echt die Woche. Das Skript funktioniert sensationell und genauso wie es soll. Smile
Vielen lieben Dank.

Ein schönes Wochenende und viele Grüße
Peer
Antworten Top
#5
Hallo noch einmal,

es hat sich beim Daten importieren herausgestellt, dass die Cross-Selling-Daten nicht 100% korrekt/ajtuell sind, die vom Lieferanten kommen, weil Artikelnummern in der Spalte B angegeben sind, die nicht mehr verfügbar sind. Lässt sich im Skript noch eine Abfrage einfügen, dass der nur die Zeile hinzufügt, wenn der Artikel auch nur in Spalte A verfügbar ist? Damit bleibt das ein in sich geschlossenes System.

Vielen Dank noch einmal für die Hilfe. Smile
Gruß Peer


PS: Ansonsten funktioniert das Skript 1a. Smile
Antworten Top
#6
Ich habe das nach der Sortierung des Skripts mit der unten stehenden Funktion und 2 Hilfsspalten gelöst. Danach dann Spalte E (Vorhanden) sortiert und alle "Nein" Einträge gelöscht und anschließend die 2 Hilfsspalten, um ein problemloses Importieren zu ermöglichen.


Ich habe mit der Formel überprüft, ob ein zugewiesenes Produkt (Spalte C) im kompletten Sortiment (Spalte F) enthalten ist. 
=WENN(ZÄHLENWENN($F$2:$F$6606;C2)>0;"Ja";"Nein")


[img=832x921]
Dateiupload bitte im Forum! So geht es: Klick mich!
]

Ich gebe zu, dass ist jetzt vielleicht die etwas umständliche Variante, hat aber erst einmal geholfen. Vielleicht lässt sich das VBS Skript ja noch entsprechend erweitern um die Funktion, dass nicht vorhandene Artikel im gesamt Sortiment nicht mit ausgegeben werden.

Vielen Dank noch einmal an Uwe für die tolle Unterstützung. Ohne dich wäre es nicht möglich gewesen.

Viele Grüße
Peer
Antworten Top


Gehe zu:


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