Meilenstein/Zwischenfazit:
Ziel: linkTarget soll gleich linkFeed sein
- Trim() entfernt in unserem Fall führende/abschließende Leerzeichen
- die Anzahl Zeichen je Variable haben wir mit Len() gemessen
- folglich: Wenn Len() unterschiedliche Werte (hier:242<>241) zurückgibt; heisst das, dass die Anzahl Zeichen der beiden Variablen ungleich sind
- wir haben uns das letzte Zeichen von rechts, mit der Right()-Funktion, ausgeben lassen. (von Links ginge auch; war auf den ersten Blick jedoch gleich)
- bei einer Variablen war es ein kleines "t"
- bei der zweiten Variablen ein Wagenrücklaufzeichen; identifiziert mit der Asc()-Funktion
Versuche folgendes:
- sichere Deine Datei
- ersetze den bisherigen For-Block mit folgendem:
For x = 2 To .UsedRange.SpecialCells(xlCellTypeLastCell).Row
If .Cells(x, 1).Value <> "" Then
linkTarget = LTrim(.Cells(x, N_Link_1).Value2)
'entferne vbCR
linkTarget = Replace(linkTarget, vbCR, "")
For w = 2 To feedsheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
linkFeed = LTrim(feedsheet.Cells(w, link_2).Value2)
'entferne vbCR
linkFeed = Replace(linkFeed, vbCR, "")
Debug.Print linkTarget
Debug.Print linkFeed & " =" & linkTarget = linkFeed
If linkFeed = linkTarget Then
.Cells(x, main_link_target) = feedsheet.Cells(w, main_link_source)
.Cells(x, image) = feedsheet.Cells(w, image_source)
.Cells(x, beschreibung) = feedsheet.Cells(w, description)
.Cells(x, g_d_preis) = feedsheet.Cells(w, preis)
.Cells(x, price) = feedsheet.Cells(w, preis)
End If
Next w
End If
Next x
End With
|