Преобразование данных из одной строки во многие для создания SKU продукта - PullRequest
0 голосов
/ 29 июня 2018

У меня есть много строк данных о продукте для интернет-магазина, с размерами, цветами и т. Д. Мне нужно, чтобы каждый вариант был в отдельной строке, чтобы я мог загрузить все это. Мне нужна какая-то формула Excel или VBA, чтобы сделать это, я думаю.

Title            Size
Ladies Dress    S,M,L,XL,XXL
Men's Trousers  S,M,L,XL,XXL

необходимые данные:

Title           Size
Ladies Dress    S
Ladies Dress    M
Ladies Dress    L
Ladies Dress    XL
Ladies Dress    XXL
Men's Trousers  S
Men's Trousers  M
Men's Trousers  L
Men's Trousers  XL
Men's Trousers  XXL

Я разместил 2 строки образца в электронной таблице Google, чтобы поделиться ими.

Sample

1 Ответ

0 голосов
/ 29 июня 2018

Вот как бы я написал саб для ПК; Я постараюсь сделать вызовы функций как можно более общими и кросс-платформенными.

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
...