У меня есть файл Excel, который я буду использовать для импорта сотен продуктов в интернет-магазине. В Excel есть такие столбцы

Название | SKU | Размер | Цена | так далее

Я попросил своих клиентов сделать Excel в очень специфическом формате (особенно в строках). Я хотел, чтобы у каждого варианта продукта (размера) была своя строка. Скажем, для рубашки, которая имеет 3 размера (S, M, L), она должна иметь 3 ряда для каждого варианта. Ну, они послали мне Excel с вариациями, чтобы быть в одном ряду, как это

S/M/L

Я совершенно нуб на Excel. Как я могу сделать макрос, скажем, чтобы проверить варианты, которые разделены косой чертой и сделать х количество дублирующихся строк? А также, если (это сделало бы меня счастливее), можно оставить только один вариант в каждом ряду.

Спасибо :)

1 ответ1

1

Щелкните правой кнопкой мыши по названию листа и выберите "Показать код".

Вставьте следующий код:

Sub Expandrows()
Dim sizes() As String
For Each c In Selection
    With c
        If .Value <> "" Then
            sizes = Split(.Value, "/")
            If UBound(sizes) > 0 Then
                For i = UBound(sizes) To LBound(sizes) Step -1
                    Rows(.Row).Copy
                    Rows(.Row + 1).Insert shift:=xlDown
                    .Offset(1) = sizes(i)
                Next i
                Application.CutCopyMode = False
                Rows(.Row).Delete
            End If
        Else: Exit For
        End If
    End With
Next c
End Sub

Вернитесь на свой лист, выберите столбец "Размер", нажав на его заголовок.

В меню "Разработчик" запустите макрос из "Макросы".

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .