я быть_наст этот данные извлекать данные из строки с VBA
Я хотел бы, чтобы извлечь размер и цвет, как это:
ID Color Size
1 Blue S
1 Blue M
1 Blue L
1 Blue XL
1 Blue XXL
я могу иметь также два значение для цвета, разделенного запятой. Я хотел бы иметь результаты, как это:
ID Color Size
18 Rose S
18 Rose M
18 Rose L
18 Rose XL
18 Rose XXL
18 White S
18 White M
18 White L
18 White XL
18 White XXL
Я пробовал это в VBA:
Sub MG11Sep42()
Dim Rng As Range, Dn As Range, Sp As Variant, Sp1 As Variant, Sp2 As Variant, Sp3 As Variant
Dim n As Long, Col As Variant, Sz As Variant, c As Long
Set Rng = Range("B1", Range("B" & Rows.Count).End(xlUp))
Cells(1, "D").Resize(, 3) = Array("ID", "Color", "Size")
c = 1
For Each Dn In Rng
Sp = Split(Dn.Value, ":")
Sp1 = Split(Sp(1), ";")
Sp2 = Split(Sp(UBound(Sp)), ",")
Sp3 = Split(Sp1(0), ",")
For Each Sz In Sp2
For Each Col In Sp3
c = c + 1
Cells(c, "D") = Dn.Offset(, -1).Value
Cells(c, "E") = Sz
Cells(c, "F") = Col
Next Col
Next Sz
Next Dn
End Sub
но ошибки: индекс выходит за пределы диапазона
Вам необходимо пропустить первую строку, поскольку в ней есть только метки столбцов. Иначе вы получите эту ошибку. –