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 :D

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... :o :cry:

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