Página 1 de 3
CONCATENAR
Enviado: 01 Ago 2019 às 17:29
por LEO2004
Ola amigos,
Tenho esse projeto quase pronto onde que ele importa um arquivo TXT ."sped" separando os registros por blocos.. onde eu posso editar e informações acrescentando e tirando..
O meu problema e o seguinte e na hora de exportar para txt.. Eu criei um modo via VBA que insere uma coluna nova em cada planilha e depois de inserido ele vai concatenar a informação das colunas do lado.. Só que ele só faz isso em uma linha só..
Tipo se na A2 tenho informações ele concatena B2, C3 e assim por diante... Mas ele só ta fazendo nessa linha..
Se B3, C3 etc.. tiver informa ele ta contentando para linha abaixo.. no caso "A3"
A planilha é muito grande e não consigo enviar por aqui..
Meu e-mail de contato é
leoeugomes@gmail.com e whats 51 999211289
Alguém pode me ajudar..?
Eu tentei isso primeiramente..
O código abaixo ele percorre todas as planilhas e vai concatenando, porem só a primeira linha de informação..
Preciso concatenar todas que tiverem informações...
Sub Percorre_planilhas_concatenando()
Contagem = Sheets.Count
Cont = 1
Do Until Cont > Contagem
Sheets(Cont).Select
Range("A2").Value = Range("B2").Value & Range("C2").Value & Range("D2").Value & Range("F2").Value & Range("G2").Value & Range("H2").Value & Range("I2").Value & Range("J2").Value & Range("K2").Value & Range("L2").Value & Range("M2").Value & Range("N2").Value & Range("O2").Value & Range("P2").Value & Range("Q2").Value & Range("R2").Value & Range("T2").Value & Range("V2").Value & Range("W2").Value & Range("X2").Value & Range("Y2").Value & Range("Z2").Value & Range("AA2").Value & Range("AB2").Value & Range("AC2").Value & Range("AD2").Value & Range("AE2").Value & Range("AF2").Value & Range("AG2").Value & Range("AH2").Value & Range("AI2").Value & Range("AJ2").Value & Range("AK2").Value & Range("AL2").Value & Range("AM2").Value & Range("AN2").Value
Cont = Cont + 1
Loop
End Sub
CONCATENAR
Enviado: 01 Ago 2019 às 17:36
por Jimmy
Leo,
Você consegue montar uma planilha reduzida apenas para testes? Apagar, por exemplo, as linhas abaixo de 10, deixar 2 ou 3 planilhas, e anexar na mensagem?
Jimmy
Re: CONCATENAR
Enviado: 01 Ago 2019 às 17:52
por LEO2004
Olá Jimmy, Obrigado pelo seu retorno..
Estou lhe encaminhado a planilha..
CONCATENAR
Enviado: 01 Ago 2019 às 18:56
por OTACILIO144
opa blz amigo
bom creio que deva estar faltando apenas aproveitar a variável cont para ir para próxima linha, tenta alterar dessa forma:
Range("A" & cont).Value = Range("B" & cont).Value & Range("C" & cont).Value
faça isso no código todo claro neh haha, se der certo deixa seu joinha

Re: CONCATENAR
Enviado: 01 Ago 2019 às 21:04
por Jimmy
Leo,
Alterei algumas das tuas macros. Verifique e adote aquelas que julgar que estão melhor.
A macro já está funcionando.
Nas tuas macros você adota como critério que a primeira planilha seria a que junta todos os concatenados (a TXT), e as demais são fornecedoras de dados. Eu mudei o critério para permitir que a posição da planilha TXT seja qualquer uma.
A macro identifica a planilha TXT por ela não começar pelo caractere “|”. As que iniciam com esse caractere, ela considera que são planilhas fornecedoras, independentemente da posição dela na aba de planilhas.
As macros de inserção e deleção da coluna A, eu apaguei aquelas dezenas de linhas, e fiz com loop. Também coloquei uma verificação para evitar que sejam acionadas 2 vezes, sem querer, o que poderia causar a inserção de duas colunas no início, ou a deleção de colunas de dados.
Nas alterações que fiz, respeitei o rito de criar coluna A (auxiliar), concatenar, passar para a planilha TXT, apagar a coluna A, e exportar, mas essa inserção e deleção de coluna não é necessária. A macro que CONSOLIDA pode já pegar de cada uma das colunas os dados, concatenar, e colocar na sua coluna A, diretamente, sem criar a A nas planilhas de dados. Pode até já exportar, e essas 5 macros ficariam em uma só. Na verdade nem precisa colocar em sua coluna A; pode exportar para o arquivo TXT diretamente, tudo num só clique.
Se dessa forma você acha que fica melhor, avise que eu altero.
Jimmy San Juan
CONCATENAR
Enviado: 02 Ago 2019 às 00:34
por LEO2004
Jimmy Muito obrigado pelo retorno..
Os códigos que você colocou ficaram ótimos..
Só preciso de mais ajuda ..
fiz um teste, importei um arquivo completo .. e cliquei em consolidar e deu erro de tempo execução 9..
então fiz como tava fazendo, gerei as colunas e concatenei, na hora consolidar ele consolidou somente ate uma parte e parou..
No mais ficou muito bom..
Teria como me ajudar nesses detalhes?
Obrigado!!
CONCATENAR
Enviado: 02 Ago 2019 às 08:28
por Jimmy
Bom dia,
Tem como ajudar sim, mas preciso da planilha que deu erro, pra ver em que linha deu, qual o conteúdo da planilha, etc.
Tente reduzir a planilha o suficiente pra postar aqui, mas com dados suficientes pra dar pau.
fiz um teste, importei um arquivo completo .. e cliquei em consolidar e deu erro de tempo execução 9..
Antes de clicar em CONSOLIDAR tem que incluir a coluna, concatenar, etc...
O que eu havia dito é que deixei como estava, mas há a possibilidade de juntar as macros que cria a coluna, a que gera o concatenamento, a que consolida, a que exporta e a que deleta a coluna A, tudo numa só. Eu não fiz isso porque não sei se há algum motivo pra você fazer passo a passo. Posso fazer se você achar que fica melhor.
Jimmy San Juan
Re: CONCATENAR
Enviado: 02 Ago 2019 às 09:23
por LEO2004
bom dia Jimmy,
Segue anexo a planilha..
Ahh lembro que eu não sei se é o numero de dados.. pois a planilha seria para gerar arquivos bem grandes..
Re: CONCATENAR
Enviado: 02 Ago 2019 às 10:08
por Jimmy
Leo,
O erro ocorreu porque a quantidade de cores diferentes para colorir a fonte da coluna B, se esgotou, porque a quantidade de cores é inferior à quantidade de planilhas. Mudei pra começar a repetir as cores, caso necessário.
Pergunta: você precisa que as cores vão mudando, e cada planilha tenha uma cor diferente das demais, ou basta usar apenas vermelho, azul e verde (só exemplo) alternadamente para separar visualmente o que vem de uma planilha e o que vem da outra?
Você pensou a respeito de juntar as 5 macros numa só?
Partimos pra isso?
Outro assunto importante: eu usei a linha 1 das planilhas de dados, para marcar a coluna auxiliar A inserida. Isso permitiu saber se essa coluna já havia sido inserida ou não, evitando dupla inserção. O mesmo para deleção.
Você usa a linha 1 para alguma coisa? Porque se usa, e nas planilhas que enviou ela está em branco apenas por ser uma planilha de testes, teremos que mudar essa lógica.
Jimmy San Juan
CONCATENAR
Enviado: 02 Ago 2019 às 10:28
por LEO2004
Olá Jimmy, Primeiramente muito obrigado.
E respondendo a perguntas :
1ª Resp: as cores de inicio era uma mapeação, porém agora pode ser aleatoriamente..
2ª Resp: Podemos juntar as 5 em uma 1 só..
3ª Resp: A linha de cima seria para um cabeçalho para um filtro com ajudar a selecionar as informações..
Mas tenho uma dúvida teria como ter um contador de registros?
tipo assim existe uma aba 9900| as informações dessa aba e de totalizar a quantidade de cada registro existe..
exemplo:
|9900 |C100 |28323 -> esse numero é quantidade de c100 que tem arquivo..
teria como criarmos isso?
nem que fosse um botão de comando..
obrigado!!
CONCATENAR
Enviado: 02 Ago 2019 às 10:51
por LEO2004
Jimmy esbarrei num problema maior kkk
Desculpa ..
Eu gerei o arquivo tudo certo..
Mas eu na hora de projetar a consolidação eu não fiz mapeamento de hierarquia.. ou seja nos registros c100 depois c170 depois c190 depois c191..
Por fim não como fazer isso...

CONCATENAR
Enviado: 02 Ago 2019 às 11:28
por Jimmy
Leo, vamos resolver tudo, mas prefiro passo a passo pra coisas irem ficando mais sedimentadas antes de iniciar outra etapa.
Vou iniciar juntando as macros, pra depois fazer o resto, porque se fizer as alterações nas macros separadas, quando eu juntar todas dará mais trabalho.
Pergunta: você precisa que seja mantida a relação completa de registros, aquela que é montada na planilha TXT ORIGINAL, mesmo após gerar o arquivo TXT, ou só te interessa o arquivo TXT gerado, e essa relação completa pode ser apagada?
Jimmy
CONCATENAR
Enviado: 02 Ago 2019 às 11:53
por LEO2004
Jimmy,
Sim, prefeito vamos passo a passo..
Respondendo pergunta. Sim, só me interessa o TXT gerado.. Eu so mantive o montado na Planilha original para poder ter uma maneira de exportá-la..
Porém tava olhando que se traze-se na importação na ultima coluna dos Registros que comecem com a letra "C" o numero da Nota que se referem , ficaria mais fácil .. por que futuramente eu iria precisar dessa informação. Exemplo abaixo..
|C190|0|2102|12|461,14|461,14|55,34|0|0|0|0| NUMERO DA NF|
O numero da nota deixei enter "#" caso precise do arquivo txt, esta em anexo..
|C100|1|0||65|00|2|#59978#|43190394290483000150650020000599781000599784|26032019|26032019|46,97|2|0|0|46,97|9|0|0|0|9,91|1,77||||||||
Obrigado amigo!!
CONCATENAR
Enviado: 02 Ago 2019 às 12:03
por Jimmy
Esqueceu de anexar o TXT de entrada.
CONCATENAR
Enviado: 02 Ago 2019 às 12:40
por LEO2004
Mil desculpas..
segue anexo..
Re: CONCATENAR
Enviado: 02 Ago 2019 às 13:20
por Jimmy
Já juntei as macros.
Uma olhada que tamanho ficou a macro! Apaguei todas as outras.
Vou olhar o arquivo de importação.
Enquanto eu olho, explica melhor isso, pois não entendi:
Porém tava olhando que se traze-se na importação na ultima coluna dos Registros que comecem com a letra "C" o numero da Nota que se referem , ficaria mais fácil .. por que futuramente eu iria precisar dessa informação. Exemplo abaixo..
e isso também:
Mas eu na hora de projetar a consolidação eu não fiz mapeamento de hierarquia.. ou seja nos registros c100 depois c170 depois c190 depois c191..
CONCATENAR
Enviado: 02 Ago 2019 às 13:27
por Jimmy
Esse arquivo é de importação (ele entra na planilha) ou de exportação (ele é gerado pela planilha)?
CONCATENAR
Enviado: 02 Ago 2019 às 13:32
por LEO2004
ele é importado para planilha ..
depois ele exportar um igual..
CONCATENAR
Enviado: 02 Ago 2019 às 13:51
por LEO2004
Porém tava olhando que se traze-se na importação na ultima coluna dos Registros que comecem com a letra "C" o numero da Nota que se referem , ficaria mais fácil .. por que futuramente eu iria precisar dessa informação. Exemplo abaixo..
Resposta : Lhe encaminhei uma imagem tentando explicar melhor...
Mas eu na hora de projetar a consolidação eu não fiz mapeamento de hierarquia.. ou seja nos registros c100 depois c170 depois c190 depois c191..
Se voce abrir o txt voce vai ver que segue uma ordem C100 depois vem o C170 depois C190 e assim por diante.. ele deve seguir essa sequencia de informações..
CONCATENAR
Enviado: 02 Ago 2019 às 13:54
por LEO2004
segue a imagem .. que faltou ESTA COMPACTADA PARA PODER ENCAMINHAR