Dividir texto no separador em células em linhas diferentes

0

Eu inseri dados como este:

| VR headsets          |
| -------------------- |
| htc;oculus;cardboard |
| playstation vr       |
| htc;oculus           |
| no                   |
| daydream;cardboard   |
| cardboard            |
| no                   |

Cada nova linha no exemplo de entrada acima, é uma nova linha e cada uma é uma coluna. Minha pergunta é agora: Como eu poderia cuspir todas as células no separador ( ; ) no Excel 2016? Existe um formulário para isso?

Nota: O arquivo de entrada não é um arquivo CSV! É um arquivo .xlsx que contém resultados de uma pesquisa. Os dados de entrada acima são apenas uma questão.

Finalmente eu gostaria de dados como este

| VR headsets          |
| -------------------- |
| htc                  |
| oculus               |
| cardboard            |
| playstation vr       |
| htc                  |
| oculus               |
| no                   |
| daydream             | 
| cardboard            |
| cardboard            |
| no                   |

Pode estar em várias colunas.

Eu tentei usar essa fórmula:

=DEEL('Alle data'!$U4; KOLOMMEN('Alle data'!$U4:'Alle data'!$U4); B$2)

Em inglês (pode estar errado)

=PART('Alle data'!$U4; COLUMNS('Alle data'!$U4:'Alle data'!$U4); B$2)

mas eu tenho esse resultado

Nas células B$2 tem esses valores:

1  2  3  4  5  6  7  8  9  10 11 12 13 ...
    
por H. Pauwelyn 06.04.2017 / 18:18

1 resposta

1

Com dados na coluna A , executando esta macro curta do VBA:

Sub MakeList()
    Dim i As Long, N As Long, j As Long

    N = Cells(Rows.Count, "A").End(xlUp).Row
    j = 1

    For i = 1 To N
        ary = Split(Cells(i, 1), ";")
        For Each a In ary
            Cells(j, 2) = a
            j = j + 1
        Next a
    Next i
End Sub

produzirá:

Para usar isso, você terá que criar o arquivo .xlsm em vez de .xlsx

    
por 06.04.2017 / 19:00