Tenho uma tabela onde em uma única célula temos diversas informações.
Os dados das células estão com quebras de textos e é uma base de dados grande.
Preciso separar as informações dessas células em linhas.
Esse é um exemplo da base:
| Fornecedor |
Valor |
Vencimento |
Recebido em |
Valor recebido |
Descrição Pagamento |
| Fornecedor 1 |
3.000,00 |
02/02/2021 <br>02/03/2021 <br>02/04/2021 <br>19/01/2021 <br>20/01/2021 <br>02/04/2021 <br>19/01/2021 <br>20/01/2021 |
02/02/2021 <br>02/03/2021 <br>05/04/2021 <br>19/01/2021 <br>20/01/2021 <br>05/04/2021 <br>19/01/2021 <br>20/01/2021 |
353,34 <br>353,33 <br>353,33 <br>844,00 <br>394,25 <br>353,33 <br>844,00 <br>394,25 |
Descrição 1 <br>Descrição 2 <br>Descrição 3 <br>Descrição 4 <br>Descrição 5 <br>Descrição 6 <br>Descrição 7 <br>Descrição 8 |
| Fornecedor 2 |
40.000,00 |
02/02/2021 <br>02/03/2021 <br>02/04/2021 <br>19/01/2021 |
02/02/2021 <br>02/03/2021 <br>05/04/2021 <br>19/01/2021 |
353,33 <br>353,33 <br>353,33 <br>4.095,00 |
Descrição 1 <br>Descrição 2 <br>Descrição 3 <br>Descrição 4 |
Precisava ficar cada informação em uma linha, mesmo que a linha do fornecedor e valor fique em branco.
Esta base possui aproximadamente 1.500 linhas. E em 05 colunas desta base, temos esse tipo de dado.
Encontrei um código VBA que separa o conteúdo de uma célula em linhas, mas depois precisaria transpor e no caso destes dados, temos diversas células em diversas colunas desta forma.
Segue o código utilizado:
Option Explicit
Public Sub selection_into_rows()
Dim k As Variant
Dim l_counter As Long
k = Split(Selection, Chr(10))
For l_counter = LBound(k) To UBound(k)
Cells(l_counter + 1, Selection.Column + 1) = k(l_counter)
Next l_counter
End Sub
Poderiam me ajudar, por favor?