Página 1 de 1
Inserir uma linha com uma palavra antes de concatenar
Enviado: 26 Jul 2019 às 03:25
por turbaneja
Alguns dias atrás, o grande guru Jimmy San Juan me ajudou a concatenar duas colunas com muitas linhas através de uma super macro, e sou muito grato a ele pela ajuda.
Mas agora descobri que preciso inserir mais duas linhas:
- uma com um texto fixo (ex: teste1);
- e outra com a informação da "Coluna A" na "Coluna C" , mas sem fazer o cocatenação com a "Coluna B";
Ex:
Coluna A
alfa
beta
charlie
Coluna B
mono
bi
tri
Coluna C (Resultado Esperado)
->teste1
->alfa
alfamono
alfabi
alfatri
->teste1
->beta
betamono
betabi
betatri
->teste1
->charlie
charliemono
charliebi
charlietri
Em anexo está a macro que o mestre Jimmy fez e um exemplo do que eu preciso fazer.
Desde já, muito obrigado pela atenção!
Re: Inserir uma linha com uma palavra antes de concatenar
Enviado: 26 Jul 2019 às 09:57
por osvaldomp
Experimente:
Código: Selecionar todosSub Concatena()
Dim k As Long, i As Long, LR As Long
LR = Cells(Rows.Count, 1).End(3).Row
If [C2] <> "" Then Range("C2:C" & Cells(Rows.Count, 3).End(3).Row).Value = ""
For k = 2 To LR
Cells(Rows.Count, 3).End(3)(2).Resize(2).Value = Application.Transpose(Array("teste1", Cells(k, 1)))
For i = 2 To LR
Cells(Rows.Count, 3).End(3)(2) = Cells(k, 1) & Cells(i, 2)
Next i
Next k
End Sub
obs.
1. funciona para qualquer quantidade de linhas com dados nas colunas A:B
2. se quiser colocar o texto "teste1" em uma célula, por exemplo em H1, então substitua no código "teste1" por [H1]
Inserir uma linha com uma palavra antes de concatenar
Enviado: 26 Jul 2019 às 10:49
por turbaneja
Oi Osvaldo, bom dia!
Muito obrigado pela ajuda, mas encontrei um probleminha:
1 - Quando tenho mais linhas na "Coluna A" em relação a "Coluna B", na "Coluna C" aparece uma repetição da "Celula A2" até equalizar essa diferença.
2 - Quando tenho mais linhas na "Coluna B" em relação a "Coluna A", na "Coluna C" fica faltando concatenação das colunas.
Resumindo, quando a coluna A e coluna B tem o mesmo número de linhas está perfeito. Quando existe diferença ocorre esse problema.
Se você conseguir me dar mais esse help, muito obrigado!
Re: Inserir uma linha com uma palavra antes de concatenar
Enviado: 26 Jul 2019 às 11:34
por osvaldomp
Experimente este código abaixo no lugar do anterior.
Código: Selecionar todosSub ConcatenaV2()
Dim k As Long, i As Long
If [C2] <> "" Then Range("C2:C" & Cells(Rows.Count, 3).End(3).Row).Value = ""
For k = 2 To Cells(Rows.Count, 1).End(3).Row
Cells(Rows.Count, 3).End(3)(2).Resize(2).Value = Application.Transpose(Array("teste1", Cells(k, 1)))
For i = 2 To Cells(Rows.Count, 2).End(3).Row
Cells(Rows.Count, 3).End(3)(2) = Cells(k, 1) & Cells(i, 2)
Next i
Next k
End Sub
Inserir uma linha com uma palavra antes de concatenar
Enviado: 26 Jul 2019 às 11:44
por turbaneja
Perfeito Osvaldo! Você é um mestre guru do Excel tb, parabéns!
Muito obrigado!