VBA - Substituir

A função Replace substitui uma parte especificada de uma string por uma string específica, um determinado número de vezes.

Sintaxe

Replace(string,find,replacewith[,start[,count[,compare]]])

Descrição do Parâmetro

  • String- Um parâmetro obrigatório. A String de entrada que deve ser pesquisada para substituição.

  • Find- Um parâmetro obrigatório. A parte da string que será substituída.

  • Replacewith- Um parâmetro obrigatório. A string de substituição, que seria substituída no parâmetro find.

  • Start- Um parâmetro opcional. Especifica a posição inicial de onde a string deve ser pesquisada e substituída. O valor padrão é 1.

  • Count- Um parâmetro opcional. Especifica o número de vezes que a substituição deve ser executada.

  • Compare- Um parâmetro opcional. Especifica o método de comparação a ser usado. O valor padrão é 0.

    • 0 = vbBinaryCompare - executa uma comparação binária

    • 1 = vbTextCompare - executa uma comparação textual

Exemplo

Private Sub Constant_demo_Click()
   Dim var as Variant
   var = "This is VBScript Programming"
  
   'VBScript to be replaced by MS VBScript
   msgbox("Line 1: " & Replace(var,"VBScript","MS VBScript"))
  
   'VB to be replaced by vb
   msgbox("Line 2: " & Replace(var,"VB","vb"))
  
   ''is' replaced by ##
   msgbox("Line 3: " & Replace(var,"is","##"))
   
   ''is' replaced by ## ignores the characters before the first occurence
   msgbox("Line 4: " & Replace(var,"is","##",5))
   
   ''s' is replaced by ## for the next 2 occurences.
   msgbox("Line 5: " & Replace(var,"s","##",1,2))
  
   ''r' is replaced by ## for all occurences textual comparison.
   msgbox("Line 6: " & Replace(var,"r","##",1,-1,1))
  
   ''t' is replaced by ## for all occurences Binary comparison
   msgbox("Line 7: " & Replace(var,"t","##",1,-1,0))
  
End Sub

Quando você executa a função acima, ela produz a seguinte saída.

Line 1: This is MS VBScript Programming
Line 2: This is vbScript Programming
Line 3: Th## ## VBScript Programming
Line 4: ## VBScript Programming
Line 5: Thi## i## VBScript Programming
Line 6: This is VBSc##ipt P##og##amming
Line 7: This is VBScrip## Programming