Ya te estoy devolviendo el libro con la prueba revisada hasta la fila 68 ;)
Esta es la macro. Los comentarios te permitirán ajustar referencias como nombres de hoja o inicio de cada fila de datos que en este caso es 2 para todas las hojas.
Sub ResumenProductosLinks()
'x Elsamatilde
Dim hoP As Worksheet, hoL As Worksheet, hoF As Worksheet
Dim x As Integer, y As Integer, k As Integer, z As Integer
Dim codPro As String, idTalle As String, dato As String, indiProd As String
'hojas del proceso
Set hoP = Sheets("Productos y Ids")
Set hoL = Sheets("Link de fotos")
Set hoF = Sheets("Archivo Final")
x = 2 '1ra fila hoja Productos
y = 2: k = y '1ra fila hoja Links
z = 2 '1ra fila hoja final
idTalle = "" 'ind de Talles
codPro = "" 'cod Productos
indiProd = "" 'nbreImagen c/indice
'recorre la col B de la hoja Productos
While hoP.Range("B" & x) <> ""
'se vuelcan datos en col E y C
hoF.Range("E" & z) = hoP.Range("A" & x)
hoF.Range("C" & z) = "new product"
'al cambiar de producto se inicia el índice para repetir las imágenes
If codPro <> hoP.Range("B" & x) Then
idTalle = ""
If codPro = "" Then
y = 2
Else
y = k + 1
End If
codPro = hoP.Range("B" & x)
End If
If idTalle <> hoP.Range("A" & x) Then
hoF.Range("D" & z) = "main"
idTalle = hoP.Range("A" & x)
k = y
Else
k = k + 1
End If
hoF.Range("A" & z) = hoL.Range("A" & k)
'armar cadena para el col B
dato = hoL.Range("A" & k)
'si el indice es 2 se coloca 'second'
If Right(dato, 5) = "2.jpg" Then hoF.Range("D" & z) = "second"
'se extrae parte del URL para la col B
For A = Len(dato) To 1 Step -1
If Mid(dato, A, 1) = "/" Then
indiProd = Mid(dato, A + 1, Len(dato) - A)
Exit For
End If
Next A
hoF.Range("B" & z) = indiProd
z = z + 1
x = x + 1
Wend
MsgBox "Fin del proceso.", , "Información"
End Sub