Linhas duplicadas com base em seus dados

0

Eu tenho um arquivo de excel que utilizarei para importar centenas de produtos em uma loja virtual. O excel tem colunas como esta

Título | SKU | Tamanho | Preço | etc

Eu pedi aos meus clientes para fazer o excel em formato muito específico (especialmente em linhas). Eu queria que cada variação do produto (tamanho) tivesse sua própria linha. Vamos dizer que para uma camisa que tem 3 tamanhos (S, M, L), deve ter 3 linhas para cada variação. Bom, eles me mandaram o excel com as variações pra ficar em uma linha, assim

S / M / L

Estou totalmente no no Excel. Como posso fazer uma macro, digamos, para verificar as variações que são separadas pela barra e fazer um número x de linhas duplicadas? E também se (isso me deixasse feliz) pode manter apenas uma variação em cada linha.

Obrigado:)

    
por hambos22 07.11.2015 / 15:23

1 resposta

1

Clique com o botão direito no nome da planilha e selecione "Mostrar código".

Cole o seguinte código:

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

Volte para sua planilha, selecione a coluna "Tamanho" clicando em seu cabeçalho.

No menu "Desenvolvedor", execute a macro em "Macros".

    
por 08.11.2015 / 07:02