Разные записи для каждого изображения продукта
Вопрос
У меня есть список продуктов с идентификатором и изображением изображения.Одна запись на картинку вместо одной записи на продукт и фотографии в столбцах, насколько мне нужно.Если бы файл имел только несколько записей, ручной процедуры, я думаю, это будет резать все изображения для одного и того же продукта, вставьте (транспонировать) и удалить записи без имени.Но поскольку файл имеет более 100 000 записей, кто-нибудь знает, как это сделать с помощью VBA?
Пример: Что у меня есть ...
product_id; picture_name
1; picture1.jpg
1; picture2.jpg
1; picture3.jpg
2; picture4.jpg
3; picture5.jpg
3; picture6.jpg
.
Что мне нужно ...
product_id; 1st_picture; 2nd_picture; 3rd_picture...
1; picture1.jpg; picture2.jpg; picture3.jpg
2; picture4.jpg
3; picture5.jpg; picture6.jpg
.
Спасибо, так что вам больше заранее за вашу помощь.
Решение
Я думаю, это решает вашу проблему
- .
- сравнить два последовательных строка один за другим
- Если два ряда совпадают, примите соответствующее значение в 2-м столбце 2-й строки, поместите значение рядом с 2-й столбец 1-й строки и удалите 2-й строк
- Если не совпадает с предыдущим шагом и перейти на сравнение следующих двух строк.
Вот код
Sub SortPics()
i = 2
Do
Flag = False
VarComp1 = Sheets("YourSheetName").Cells(i, 1).Value
VarComp2 = Sheets("YourSheetName").Cells(i + 1, 1).Value
If VarComp1 = VarComp2 And VarComp2 <> "" Then
Set VarSec1 = Sheets("YourSheetName").Cells(i, 2)
Set VarSec2 = Sheets("YourSheetName").Cells(i + 1, 2)
VarSec1.Offset(0, 1 + j).Value = VarSec2.Value
Sheets("YourSheetName").Cells(i + 1, 1).EntireRow.Delete
i = i - 1
Flag = True
End If
i = i + 1
If Flag = True Then
j = j + 1
Else
j = 0
End If
Loop While VarComp1 <> ""
End Sub
. Не связан с StackOverflow