Como substituir em uma posição específica em uma string usando vba

2

Eu gostaria de substituir um valor em uma string de arquivo de texto.
Se eu tentar substituir esse valor pelo método Substituir, todos os mesmos valores serão substituídos.
Eu só quero substituir o que está em uma posição específica na string.

Exemplo
00, 0, 0 = > 00, 1, 0 (OK)
00, 0, 0 = > 11, 1, 1 (não)

Obrigado antecipadamente

    
por user275763 09.12.2013 / 05:58

2 respostas

2

Hera são 4 maneiras diferentes de substituir 0 por 1 . Mas apenas dois são utilizáveis no seu caso.

  1. WorksheetFunction.Replace ()

    WorksheetFunction.Replace( old_text, start, number_of_chars, new_text )

  2. WorksheetFunction.Substitute ()

    WorksheetFunction.Substitute(text, oldtext, newtext, [nth_appearance] )

  3. Substituir ()

    Replace( Expression, Find, Replace, [Start, [Count, [Compare]]] )

  4. Range.Replace ()

    Range.Replace( What, Replacement, [LookAt], [SearchOrder], [MatchCase], [SearchFormat], [ReplaceFormat] )

Input        VBA code                                      Output

    
por 09.12.2013 / 18:28
0

Muito obrigado pela resposta.
Desenvolvi usando as funções Dividir e Unir.

Código:

Dim Arr () As String
Arr = Split ("00, 0, 0", ",")
Arr (1)="1"
newLine = Join (Arr, ",") 'Torna-se "00, 1, 0"

    
por 10.12.2013 / 02:23