У меня много строк данных в Excel, каждая из которых соответствует продукту. Так, например, мой первый ряд - «Черное платье леди», а затем он находится в другой ячейке, размеры которого разделены запятыми, а также цвета в одной ячейке.
Title Size Colour Price Before Price After
Ladies Dress S,M,L,XL,XXL Blue, Black, Red 19.99 29.99
Men's Trousers S,M,L,XL,XXL Brown, Yellow, Orange 39.99 59.99
HJ
![Data now](https://i.stack.imgur.com/Adx2r.png)
Итак, мне нужен VBA, который создает уникальную строку (по существу, SKU) для каждого варианта продукта, поэтому мои данные выглядят так:
![enter image description here](https://i.stack.imgur.com/oEqtl.png)
Я задавал этот вопрос раньше, но только для 2 столбцов, добрый душ предоставил этот VBA, который работает, но мне нужны другие столбцы. Я не совсем понимаю, как адаптировать этот VBA и менял букву «B» на «E», но это, похоже, не работает.
Option Explicit
Sub sizeExpansion()
Dim i As Long, szs As Variant
With Worksheets("sheet1")
For i = .Cells(.Rows.Count, "B").End(xlUp).Row To 2 Step -1
szs = Split(.Cells(i, "B").Value2, ",")
If CBool(UBound(szs)) Then
.Cells(i, "A").Resize(UBound(szs), 1).EntireRow.Insert
.Cells(i, "A").Resize(UBound(szs) + 1, 1) = .Cells(UBound(szs) + i, "A").Value2
.Cells(i, "B").Resize(UBound(szs) + 1, 1) = Application.Transpose(szs)
End If
Next i
End With
End Sub