Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
#46037
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!
Você não está autorizado a ver ou baixar esse anexo.
#46049
Experimente:
Código: Selecionar todos
Sub 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]
#46050
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!
#46053
Experimente este código abaixo no lugar do anterior.
Código: Selecionar todos
Sub 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
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord