Página 1 de 1
CONCATENAR COLUNAS COM TANHOS A SEREM CALCULADOS
Enviado: 27 Jul 2018 às 19:05
por RafaelVasconcelos
Amigos, boa noite!
Tenho a seguinte situação: preciso concatenar 4 colunas, cujo o tamanho é crescente, ou seja, essas colunas todos os dias são alimentas de maneira crescente (vale salientar que existem linhas vazias entre as células).
Preciso de um código que busque automaticamente todo o conteúdo de cada coluna e concatene as 4 numa outra coluna a ser especificada.
Exemplo de colunas para concatenação, conforme acima: colunas 4, 5, 13 e 16.
O resultado disse deve ser copiado para a coluna 23.
Muito agradecido pelo apoio.
CONCATENAR COLUNAS COM TANHOS A SEREM CALCULADOS
Enviado: 28 Jul 2018 às 09:08
por gfranco
Bom dia.
Isso pode ser feito apenas com fórmula.Nem precisa de VBA
Re: CONCATENAR COLUNAS COM TANHOS A SEREM CALCULADOS
Enviado: 29 Jul 2018 às 13:55
por RafaelVasconcelos
Oi Franco, boa tarde!
Amigo, tem razão será bem fácil fazer usando fórmulas e eu até sei fazer desta maneira, mas a planilha é bem grande e quando eu a fiz foi usando quase 100% fórmulas para automatizar as tarefas que preciso. Chegou o momento que ela passa 15 minutos só pra abrir e quando quero atualizar um relatório analítico leva bastante tempo também.
As fórmulas consomem muita memoria e a planilha fica muito lenta, desta forma, estou evitando usar fórmulas ao máximo.
Consegui, fazendo pesquisas, o seguinte código que ajuda no que preciso, porém ao longo da execução, onde ele vai fazendo a concatenação, se ele encontra o caractere "#N/D" apresenta erro e pede pra depurar.
Sei que tem um código que posso acrescentar para que o VBA ignore esse caractere e outros mais que representam erro.
Pode me ajudar a melhorar esse código?
CÓDIGO:
'CONCATENAR COLUNAS PARA EXCLUSÃO DE LINHAS EM BRANCO
Sub sbx_concatenar()
For vLin = 2 To Cells(Rows.Count, "O").End(xlUp).Row
Cells(vLin, "W").Value = Cells(vLin, "E") & Cells(vLin, "O") & Cells(vLin, "O")
Next vLin
End Sub
Re: CONCATENAR COLUNAS COM TANHOS A SEREM CALCULADOS
Enviado: 29 Jul 2018 às 22:43
por osvaldomp
RafaelVasconcelos escreveu:... se ele encontra o caractere "#N/D" apresenta erro e pede pra depurar.
Suponho que #N/D seja resultado de fórmula, e não texto inserido na célula, é isso?
Em quais das colunas envolvidas é possível que apareça erro ?
Aparecendo erro o que você deseja fazer?
Cells(vLin, "W").Value = Cells(vLin, "E") & Cells(vLin, "O") & Cells(vLin, "O")
O comando acima concatena a coluna E e duas vezes a coluna O. É esse o resultado desejado ou foi erro ao digitar a coluna O duas vezes ?
CONCATENAR COLUNAS COM TANHOS A SEREM CALCULADOS
Enviado: 29 Jul 2018 às 22:59
por RafaelVasconcelos
Suponho que os erros como #N/D sejam resultados de fórmulas, e não textos inseridos nas células, é isso?
R: Sim. Esses dados que estão sendo concatenados são decorrentes de outra aba da planilha, estão sendo copiados e colados como somente valores (V), e como existem fórmulas, como citou acima, pode ocorrer mesmo de aparecer algum caractere de erro de fórmulas.
Em quais das colunas envolvidas é possível que apareça erro ?
R: Na coluna "O".
Aparecendo erro o que você deseja fazer?
R: gostaria que o código copiasse o caractere de erro (#N/D) como se fosse um texto normal.
Caso não seja possível copiar como o um texto normal, que ele ignore o erro e concatene o que for possível.
CONCATENAR COLUNAS COM TANHOS A SEREM CALCULADOS
Enviado: 29 Jul 2018 às 23:05
por RafaelVasconcelos
Ia esquecendo...
Cells(vLin, "W").Value = Cells(vLin, "E") & Cells(vLin, "O") & Cells(vLin, "O")
O comando acima concatena a coluna E e duas vezes a coluna O. É esse o resultado desejado ou foi erro ao digitar a coluna O duas vezes ?
R: está errado mesmo.
correto:
For vLin = 2 To Cells(Rows.Count, "O").End(xlUp).Row
Cells(vLin, "W").Value = Cells(vLin, "E") & Cells(vLin, "O") & Cells(vLin, "P")
Re: CONCATENAR COLUNAS COM TANHOS A SEREM CALCULADOS
Enviado: 30 Jul 2018 às 06:35
por gfranco
Bom dia.
Veja se te ajuda:
Código: Selecionar todosSub main()
Dim vlin As Long
For vlin = 2 To Cells(Rows.Count, "O").End(xlUp).Row
Cells(vlin, "W").Value = Cells(vlin, "E").Text & Cells(vlin, "O").Text & Cells(vlin, "P").Text
Next vlin
End Sub