У меня много строк данных в 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
Итак, мне нужен VBA, который создает уникальную строку (по существу, SKU) для каждого варианта продукта, поэтому мои данные выглядят так:
Я задавал этот вопрос раньше, но только для 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