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.
Por JapSmart
Posts
#71965
Estou editando um arquivo txt no Excel (em anexo).

No assistente de importação, fiz as seguintes escolhas:
. Tipo de campo delimitado;
. Origem do arquivo MS-DOS (pc-8);
. Na próxima tela, delimitadores OUTROS (ALT+124) para o caracter I;
. Concluir.

Ocorre que o arquivo resultante está gerando, nas colunas G e H, um tipo de texto 000.000.000 quando eu preciso, de fato, que seja 000000.000

Gostaria de saber se conseguem me ajudar através de alterações nas escolhas que fiz no início ou através de algum recurso VBA.

Grato,

José
Você não está autorizado a ver ou baixar esse anexo.
Por osvaldomp
#71975
JapSmart escreveu: 04 Ago 2022 às 11:20 ... um tipo de texto 000.000.000 ...
Se os dois pontos são mostrados na célula mas não na Barra de fórmulas, então o conteúdo da célula não é texto, é número, e os pontos são separadores de milhar e não fazem parte do conteúdo da célula.

quando eu preciso, de fato, que seja 000000.000
Se você precisa que o ponto faça parte do conteúdo, aí sim precisará converter de número para texto.
Fiz um teste aqui, importei sem utilizar o Assistente, e o Excel automaticamente transforma em Tabela Excel, nome Hodômetro_TXT, e não formata para exibir o ponto como separador de milhar.

Para inserir o ponto e assim converter em texto, utilizei a fórmula abaixo em uma coluna auxiliar e em, seguida copiei e colei como Valores na respectiva coluna importada (Column7).
=SE(NÚM.CARACT(Hodômetro_TXT[@Column7])>3;ESQUERDA(Hodômetro_TXT[@Column7];NÚM.CARACT(Hodômetro_TXT[@Column7])-3)&"."&DIREITA(Hodômetro_TXT[@Column7];3);Hodômetro_TXT[@Column7])

É possível elaborar uma macro para essa operação. Se lhe interessar então disponibilize o arquivo Excel após a importação e coloque ao lado alguns exemplos representativos de como deseja os resultados.
Por JapSmart
Posts
#71977
Muito obrigado, Osvaldo. Agradeço por seu interesse de ajudar.

Estou anexando um arquivo do Excel com mais informações.

Grato,

José
Você não está autorizado a ver ou baixar esse anexo.
Por osvaldomp
#71980
Bom dia, José.
O código abaixo irá colocar um ponto nos conteúdos que não o tenham, e irá atuar nas colunas G:H. Veja se atende.

Você escreveu na planilha ~~~> Qualquer número, nessas 2 colunas, só poderá ter um ponto separador.
No entanto, o que o código faz é ~~~> Todos os conteúdos nessas 2 colunas deverão ter um ponto separador, conforme exemplos abaixo.
antes de executar o código ~~~> 0.000 ou 136128000
depois de executar o código ~~~> 0.000 ou 136128.000

Lembrando que conforme comentei antes, em decorrência da colocação do ponto, conteúdos numéricos serão convertidos em texto.
Código: Selecionar todos
Sub InserePonto()
 With Range("G1:H" & Cells(Rows.Count, 7).End(3).Row)
  .NumberFormat = "@"    'é necessário formatar como Texto antes
  .Value = Evaluate("IF(ISERR(SEARCH("".""," & .Address & ")),LEFT(" & .Address & ",LEN(" & .Address & ")-3)&"".""&RIGHT(" & .Address & ",3)," & .Address & ")")
 End With
End Sub
Por JapSmart
Posts
#71981
Bom dia, Osvaldo.

Já testei na planilha do Excel - deu certo - ficou excelente.

Nos próximos dias vou precisar de converter o arquivo do Excel para texto novamente.

Aí já será uma nova etapa que eu não tenho como testar agora e que não tem nada a ver com o que estamos tratando.

Deus te abençoe por seu desprendimento. Paz e bem a você a sua família.
Por osvaldomp
#71982
Salve, José.

Que bom que você encontrou uma solução. :D

Paz e saúde também a você e família.
JapSmart agradeceu por isso
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