Excel 将数据从一行转换为多行以创建产品SKU

Excel 将数据从一行转换为多行以创建产品SKU,excel,vba,macos,excel-formula,Excel,Vba,Macos,Excel Formula,我有很多行的电子商务商店的产品数据,与大小和颜色等,我需要每个变化是在自己的一行,所以我可以上传所有这些。我想我需要一些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 Dre

我有很多行的电子商务商店的产品数据,与大小和颜色等,我需要每个变化是在自己的一行,所以我可以上传所有这些。我想我需要一些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
我在谷歌电子表格上放置了两个样本行,以便与大家分享


以下是我如何为PC编写sub的方法;我将尽量保持函数调用的通用性和跨平台性

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

以前也有人问过类似的问题,在这里搜索……你有什么版本的Excel?Mac,版本16.14.1这很好,但是,我如何在这里添加另一列,因为我也有颜色?数据现在标题尺寸颜色女士连衣裙S、M、L、XL、XXL蓝色、黑色、红色男士长裤S、M、L、XL、XXL棕色、黄色、橙色我自己也尝试过修改代码,但无法做到。我非常感谢你的帮助。在这个特殊的案例中,我甚至不知道从哪里开始。我本来打算在原来的帖子上写这篇文章,但很久以前我就知道,在这些论坛上,少就是多。看看我的其他问题,你会发现我总是先尝试。再一次,谢谢你的帮助。你为什么不用新的样本数据开始一个新的问题,包括你调整上述代码的努力,以及对出错原因的解释?我没有问包括其他领域在内的原始问题的原因是我想保持它的简单性,并认为我能够从任何人那里修改代码让我开始。是的,我会照你的建议去做。非常感谢。