【发布时间】:2018-12-08 09:48:24
【问题描述】:
我在 Excel 中有很多行数据,每行对应一个产品。例如,我的第一行是“Lady's Black Dress”,然后它在另一个单元格中,尺寸用逗号分隔,颜色也在一个单元格中。
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
所以我需要的是一个 VBA,它为每个产品变体创建一个唯一的行(本质上是 SKU),所以我的数据看起来像这样:
我之前确实问过这个问题,但只问了两列,一个善良的灵魂提供了这个确实有效的 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
【问题讨论】:
标签: excel vba macos excel-formula