Página 2 de 3
CONCATENAR
Enviado: 02 Ago 2019 às 14:04
por Jimmy
Ta me faltando entender como o arquivo de importação vai parar dentro da planilha, com aquele formato.
Na macro de importação notei que o delimitador é "#" e não "|", como seria necessário para poder importar o arquivo que você mandou.
Notei também que na planilha que temos trabalhado, os dados a serem concatenados e exportados, todos eles têm um "|" na frente do valor. Como esse caractere foi parar lá? Não vi esse tratamento na macro de importação.
CONCATENAR
Enviado: 02 Ago 2019 às 17:43
por LEO2004
Ahh sim !!
para importar precisa abrir o txt..
aperta Ctrl + H e trocar "|" por "#|" e salvar o arquivo..
Faço isso para ele manter as tabulações delimitadas, pois se eu tirar os "|" na hora de exportar ele não vai retornar nos espaços em branco nas ultimas colunas.. Então ele precisa fazer isso..
Re: CONCATENAR
Enviado: 03 Ago 2019 às 00:20
por Jimmy
LEO2004 escreveu:para importar precisa abrir o txt aperta Ctrl + H e trocar "|" por "#|" e salvar o arquivo..
Ok, então vou mudar a macro pra que isso não precise ser feito, e importar usando o # mesmo. Terá o mesmo efeito.
LEO2004 escreveu:Faço isso para ele manter as tabulações delimitadas, pois se eu tirar os "|" na hora de exportar ele não vai retornar nos espaços em branco nas ultimas colunas.. Então ele precisa fazer isso..
Quanto a exportação, a dúvida não era o "porque", e sim o como os "|" foram parar no início de cada célula da planilha?
Eu importei usando a sua macro de importação, e os valores vieram todos sem o "|".
CONCATENAR
Enviado: 03 Ago 2019 às 11:55
por LEO2004
Bom dia Jimmy,
Sim, eu entendi..
Porem a importação do arquivo precisa vir com os "|"..
Pois cada espaço entre "|", no sistema de validação onde o arquivo vai ser enviado futuramente, representa um campo de preenchimento de informações..
Se eu importar sem esses "|" , nas ultimas colunas onde no txt ficam assim "| | | | ". Essas informações não vão para o excel ficando em branco .. Assim na hora de exportar o novo txt , ele ficará faltando campos e dará erro de leiaute no sistema validação do arquivo..
CONCATENAR
Enviado: 03 Ago 2019 às 13:20
por Jimmy
Leo,
A alteração que proponho não é eliminar o caractere delimitador de campos, pois isso iria misturar todos os campos.
A ideia na importação é utilizar o próprio "#" (aquele que você troca por "|") no lugar do "|".
Hoje o arquivo vem com
#aaa#bbb###ccc##ddd#####
e você troca por
|aaa|bbb|||ccc||ddd|||||
A ideia é a macro entender que quem separa os campos é o "#" e não o "|", e com isso você não precisa entrar no arquivo e trocar nada.
O funcionamento é o mesmo porque na importação qualquer caractere pode ser usado para delimitar, basta definir qual é ele.
Os campos em branco vão continuar a ser respeitados porque haverá ### (3 seguidos) mostrando na importação há 2 campos em branco. Isso é só pra te poupar trabalho de entrar no arquivo e alterar tudo. Eu testei aqui dessa forma, e o resultado foi o mesmo.
-------------
Agora um outro assunto:
Eu importei o arquivo TXT que você me mandou, usando a sua macro. OK!
Os campos entraram normalmente. OK!
As planilhas foram geradas normalmente, uma pra cada código (150, 100, atc.). OK!
Em cada planilha, lá estavam os valores e textos importados, separados em várias colunas. OK!
Nesses valores e textos, não havia o caractere "|" no início do conteúdo das céluas. Os valores estavam nas células, haviam também textos, etc, mas não havia o caractere "|" no início. OK!
Por outro lado, na planilha que você me mandou, já com os dados importados e prontos para serem exportados, há um caractere "|" no início de cada um dos valores e textos.
Eu sei que esse caractere é importante para a exportação. Minha dúvida não é o porque dele estar lá.
Minha dúvida é como é que ele foi parar lá, uma vez que a importação não o coloca lá.
Algo deve ser feito entre a importação e a exportação. Não sei se uma macro, ou se o operador da planilha o coloca.
Que procedimento é esse?
Re: CONCATENAR
Enviado: 03 Ago 2019 às 18:25
por LEO2004
Boa noite,
Bom como é que "|" foi para no inicio da célula? No inicio quando eu importava o arquivo sem mudar no txt, a planilha tirava todos "|".. Então isso era um problema na hora de gerar o txt novamente pois ele não memorizava onde estava os "|".
Então eu mudei o código para retirar "#".. e eu abria o TXT substituía todos "|" por "#|" .. Assim o código retirava lia o TXT e retirava somente "#" deixando somente os "|"..
foi isso que eu fazia
Quando alterava o TXT ficava assim #|C100#|000#|000#|000#|..
Re: CONCATENAR
Enviado: 03 Ago 2019 às 19:38
por Jimmy
Certo Leo!! Agora antendi, demorou mas foi. kkkk
Quando você disse que trocava "#" por "#|" não percebi que tinha uma barrinha ali...
Vou te mandar outra versão da planilha, para que teste, e nela, não será necessário trocar nada. A importação virá sem a barra, mas na hora de exportar ela é colocada novamente. Essa barra tem sentido existir somente nos arquivos TXT. Na planilha não precisa. Fique tranquilo que vai funcionar bem.
Mais uma pergunta: entre a importação e a exportação você deve fazer alterações nos dados, correto?
Isso feito e testado, veremos a questão daquele "C".
Jimmy
CONCATENAR
Enviado: 03 Ago 2019 às 19:44
por LEO2004
Olá Jimmy,
isso mesmo, entre a importação e exportação é feitas alterações nos dados..
Re: CONCATENAR
Enviado: 03 Ago 2019 às 21:38
por Jimmy
Leo,
Segue a planilha.
Faça uma importação e depois a exportação pra testar.
Não precisa alterar "#" para "#|" no TXT de entrada.
Verá que as células importadas não tem mais o "|" no início, mas a exportação funciona normalmente.
Dê retorno.
Jimmy
CONCATENAR
Enviado: 04 Ago 2019 às 00:14
por LEO2004
Boa noite Jimmy,
A planilha importou e exportou e ficou, ótima..
Muito Obrigado!!
Só tenho mais um favor se eu não estiver abusando..
Na hora exportar os registros precisam seguir a ordem conforme consta o TXT antes da importação..
Note que se abrir o TXT antes da importação segue uma ordem:
C100
C170
C190
C100
C170
C190
E assim por adiante..
Por isso que eu estava tentando também fazer com que numero da nota que contem no C100 fosse para a ultima coluna do C170 e C190..
Acredito fazendo isso será mais fácil mapear os registros na hora de exportar para o txt..
CONCATENAR
Enviado: 04 Ago 2019 às 00:49
por LEO2004
Estou lhe encaminhado uma imagem explicando melhor ..
Desde ja agradeço pela sua ajuda..
Re: CONCATENAR
Enviado: 04 Ago 2019 às 09:05
por Jimmy
Bom dia Leo,
Ainda não entendi bem essa parte.
Tem duas questões que estão relacionados mas ainda não entendi a relação. Uma é a ordem de exportação, e a outra o número da NF que vai de C100 para C170/C190.
Perguntas:
Os registros C170 e C190 devem ter um campo alterado, onde será jogado o número da NF do registro C100. Correto?
Perguntas:
Cada C170/C190 tem um C100 correspondete?
Todo C100 tem um C170 e um C190 correspondente?
Podem haver dois C100 para um C170 ou C190?
Podem haver mais de um C170 ou C190 para um mesmo C100?
Como estabelecer essa correspondência, como eu sei qual C100 se conecta com qual C170/C190?
Pela ordem no TXT de importação?
O C100 sempre vem primeiro que os seus C170/C190 correspondentes?
Se durante a importação, quando ler um registro C100 eu anotar o número da NF, e, posteriormente, quando ler um C170/C190 eu colocar o número anotado nesse registro, estará sendo respeitada a correspondência correta?
Vamos esclarecer isso, e depois vamos em frente.
Jimmy San Juan
Re: CONCATENAR
Enviado: 04 Ago 2019 às 11:51
por LEO2004
Bom dia Leo,
Ainda não entendi bem essa parte.
Tem duas questões que estão relacionados mas ainda não entendi a relação. Uma é a ordem de exportação, e a outra o número da NF que vai de C100 para C170/C190.
Perguntas:
Os registros C170 e C190 devem ter um campo alterado, onde será jogado o número da NF do registro C100. Correto?
Perguntas:
Cada C170/C190 tem um C100 correspondete? Sim, cada C100 tem um C170 e C190 e, mas pode acontecer de ter um C100 sem um C170..
Todo C100 tem um C170 e um C190 correspondente?Sim, exatamente, cada C100 tem um C170 e C190, mas pode acontecer de ter um C100 sem um C170.. ( A mesma ideia da primeira pergunta, pois funciona da mesma forma).
Podem haver dois C100 para um C170 ou C190? Não
Podem haver mais de um C170 ou C190 para um mesmo C100? sim..
Como estabelecer essa correspondência, como eu sei qual C100 se conecta com qual C170/C190? Levando o numero da NF para a ultima coluna dos registros C170, C190 ..
Pela ordem no TXT de importação? isso perfeito..
O C100 sempre vem primeiro que os seus C170/C190 correspondentes? sempre...
Se durante a importação, quando ler um registro C100 eu anotar o número da NF, e, posteriormente, quando ler um C170/C190 eu colocar o número anotado nesse registro, estará sendo respeitada a correspondência correta? Sim, perfeitamente..
Detalhe , muito importante : Quando o arquivo for exportado as colunas dos "C" onde foram inseridas as informações dos numeros das NF, não podem ir para o TXT..
Desde já agradecendo Novamente pela sua ajuda..
CONCATENAR
Enviado: 04 Ago 2019 às 13:45
por LEO2004
Bom dia Jimmy
Respondendo..
Perguntas:
Os registros C170 e C190 devem ter um campo alterado, onde será jogado o número da NF do registro C100. Correto?
Perguntas:
Cada C170/C190 tem um C100 correspondete? Sim, cada C100 tem um C170 e C190 e, mas pode acontecer de ter um C100 sem um C170..
Todo C100 tem um C170 e um C190 correspondente?Sim, exatamente, cada C100 tem um C170 e C190, mas pode acontecer de ter um C100 sem um C170.. ( A mesma ideia da primeira pergunta, pois funciona da mesma forma).
Podem haver dois C100 para um C170 ou C190? Não
Podem haver mais de um C170 ou C190 para um mesmo C100? sim..
Como estabelecer essa correspondência, como eu sei qual C100 se conecta com qual C170/C190? Levando o numero da NF para a ultima coluna dos registros C170, C190 ..
Pela ordem no TXT de importação? isso perfeito..
O C100 sempre vem primeiro que os seus C170/C190 correspondentes? sempre...
Se durante a importação, quando ler um registro C100 eu anotar o número da NF, e, posteriormente, quando ler um C170/C190 eu colocar o número anotado nesse registro, estará sendo respeitada a correspondência correta? Sim, perfeitamente..
Detalhe , muito importante : Quando o arquivo for exportado as colunas dos "C" onde foram inseridas as informações dos numeros das NF, não podem ir para o TXT..
Desde já agradecendo Novamente pela sua ajuda..
Re: CONCATENAR
Enviado: 04 Ago 2019 às 14:51
por Jimmy
Leo,
Alterei a macro e falta testar. Coloquei o número da NF apenas nas planilhas C170 e C190, mas fiquei na dúvida se era em todas as planilhas que iniciam com "C".
Se a macro estiver ok, partimos para o seguinte:
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..
Explique melhor isso. As planilhas vão sendo criadas na importação, na ordem em que vão aparecendo no TXT de entrada. Você precisa que as planilhas, após a importação, sejam colocadas em ordem alfabética, para que na exportação os registros fiquem na ordem? É isso?
Jimmy San Juan
CONCATENAR
Enviado: 04 Ago 2019 às 15:36
por LEO2004
Ola Jimmy,
ficou otimo.. sim precisa que todas as planilhas que começam "C"..
[*]Explique melhor isso. As planilhas vão sendo criadas na importação, na ordem em que vão aparecendo no TXT de entrada. Você precisa que as planilhas, após a importação, sejam colocadas em ordem alfabética, para que na exportação os registros fiquem na ordem? É isso? Então, sim se notar cada C170 e C190 C114 etc.. seguem uma ordem.. Então na exportação deve manter a sequencia como estava antes da importação...
Se olhar um registro C170 importado na planilha agora ele vai estar com o numero da NF que foi pego registro C100, entao esse C170 deve ficar de baixo do C100, a mesma coisa funciona com C190, C 140 C141 e assim por diante ate ir para o proximo C100 ..
Re: CONCATENAR
Enviado: 04 Ago 2019 às 15:47
por Jimmy
Ok, NF em todas as que iniciam com "C". Feito.
Essa ordem de saída que tem que ser igual à de entrada complica um pouco, mas vamos tentar contornar.
Para tentar contornar, me diga um pouco qual tipo, ou quais tipos de alterações você faz nos dados entre a importação e a exportação.
Jimmy San Juan
CONCATENAR
Enviado: 04 Ago 2019 às 17:23
por LEO2004
Olá..
Os tipos de alterações variam entre editar os dados do C170 e C190; excluir registros C170 e C190; Incluir registros C170 e C190;
Basicamente é isso..
CONCATENAR
Enviado: 04 Ago 2019 às 23:01
por Jimmy
Leo,
Vou te fazer uma proposta de um novo leiaute da planilha. A planilha anexa mostra esse leiaute.
Os dados ficam todos na planilha TXT ORIGINAL, e não haveriam mais diversas planilhas, uma para cada código.
Você trabalha nessa única planilha, selecionando qual código irá trabalhar, através dos filtros nas células da linha 4.
Essa forma tem uma vantagem sobre a forma anterior (a de várias planilhas) pois permite que você selecione mais de um código para ver conjuntamente. Pode, por exemplo, selecionar C100, C190 e C170 apenas.
Pra ajudar a visualizar quando seleciona mais de um código, formatei esses 3 do exemplo acima, de cores diferentes.
A colua A ficou para o número da linha. Caso você resolva classificar uma das colunas (o filtro permite isso), e perder a ordem de entrada, basta classificar novamente pela coluna da linha (A). Dessa forma, a ordem dos registros de entrada é mantida na exportação, enquanto que pela forma anterior (várias planilhas) quando os registros são divididos em planilhas, a ordem se perde.
A Coluna B ficou para a nota fiscal. Agora é possível ver apenas os registros referentes a uma determinada NF.
Da coluna C para a frente são os campos do registro em si.
Você pode aplicar filtro em várias colunas, se quiser. Pode, por exemplo, ver os registros C100, C190 e C170 apenas de uma determinada NF. Para isso, escolha a NF no filtro da coluna B, e os registros no da coluna C.
O botão LIMPAR limpa os filtros aplicados e mostra tudo.
É possível criar botões para aplicar filtros predefinidos, como os que você usa com maior frequencia.
Teste e me diga o que achou. A macro de exportação não alterei porque não sei se aprovará essa mudança ou não.
Se não tiver familiaridade com filtros, me avise.
Se achar que assim ficou ruim de trabalhar, me avise que daremos um jeito pelo formato antigo mesmo. É possível!
Jimmy
Re: CONCATENAR
Enviado: 05 Ago 2019 às 08:48
por LEO2004
Bom dia Jimmy,
Ficou muito boa a planilha, porém a planilha não será de uso somente meu, será de outras pessoas do meu setor..
Por isso que foi escolhido o formato registro separado por planilhas, onde outras pessoas que tem dificuldade com filtros e até mesmo em Excel possam utiliza-la..
Mas ficou muito bom o modelo que vc me encaminhou..
Mas tem como agente utilizar o modelo antigo?
E tem como fazer a exportação na ordem?
Desde já agradeço amigo ..