Notifications
Clear all

Criar um PEQUENO ajuste em código VBA

5 Posts
2 Usuários
0 Reactions
1,128 Visualizações
(@jnexcel)
Posts: 298
Reputable Member
Topic starter
 

prezados, boa tarde!

por favor, alguém poderia me ajudar?
eu tenho um código para criar um arquivo txt, porém eu preciso criar um ajuste nesse código.
o código está removendo os espaços existentes entre a descrição do produto.

o código está gerando assim:

produto|1
a|1.02
i|123|tecladomodelo2018||12345678|||un|||un|||
m|0|0

eu preciso que gere assim:

produto|1
a|1.02
i|123|teclado modelo 2018||12345678|||un|||un|||
m|0|0

o código está removendo os espações existentes na descrição do produto

a descrição é: teclado modelo 2018, porém o código exporta como: tecladomodelo2018

eu preciso que o vba entenda que é para deixar os espaços existentes na descrição do produto.

anexo segue a planilha.

código utilizado:

sub retângulo1_clique()
  dim lscaminho as string
  dim nome1 as string
  
  nome1 = [a1]
  lscaminho = application.getsaveasfilename(nome1 & ".txt", filefilter:="text files (*.txt), *.txt")  ' ao invés de salvar diretamente nesta pasta, eu gostaria de abrir uma caixa de diálogo permitindo escolher o local.
  
    
    dim iarq, col as long
    dim nome as string
    
    dim linha as long
    linha = 1
    
    iarq = freefile
        
        open lscaminho for output as iarq
    
    while thisworkbook.sheets("exemplo").cells(linha, 1) <> ""
    
    nome = ""

col = 1
        'pega o nome na coluna
        while thisworkbook.sheets("exemplo").cells(linha, col).value <> ""
            nome = nome & replace(replace(thisworkbook.sheets("exemplo").cells(linha, col).value, " ", "", 1), vbtab, "", 1)
          
            col = col + 1
        wend
           'escreve o nome  no arquivo txt
        
        
        print #iarq, nome
        
       
       
        linha = linha + 1
    wend
     close #iarq
     msgbox "processo concluído!", vbinformation, "aviso"
end sub

Muito obrigado a todos pela atenção.

 
Postado : 19/06/2018 11:33 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

JNEXCEL,

Boa tarde!

Veja se é assim.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 19/06/2018 11:58 am
(@jnexcel)
Posts: 298
Reputable Member
Topic starter
 

Wagner,

deu certo aqui, muito obrigado!

Por favor, veja se eu estou correto em minha análise.

código original

nome = nome & replace(replace(thisworkbook.sheets("exemplo").cells(linha, col).value, " ", "", 1), vbtab, "", 1)

código alterado pelo wagner

nome = nome & replace(replace(thisworkbook.sheets("exemplo").cells(linha, col).value, " ", " ", 1), vbtab, "", 1)

isso mesmo?

você alterou apenas essa linha do código?

 
Postado : 19/06/2018 12:21 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

Sim. Na verdade, apenas o espaço.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 19/06/2018 12:54 pm
(@jnexcel)
Posts: 298
Reputable Member
Topic starter
 

muito obrigado

 
Postado : 19/06/2018 1:05 pm