REPLACE VARIOS CRITERIOS
                    Gostaria de saber ou como fazer um replace em um Textbox testando varios criterios:
Ex:
MM.MMM
MM:MMM
MM;MMM
MM/MMM
SUBSTITUIR QUALQUER UM DOS CARACTERES(. : ; /) POR (-) EM UM SO COMANDO.
                
            Ex:
MM.MMM
MM:MMM
MM;MMM
MM/MMM
SUBSTITUIR QUALQUER UM DOS CARACTERES(. : ; /) POR (-) EM UM SO COMANDO.
Putz...acho q isso n é possivel...n no replace normal (sem mágicas)
boa sorte
                    MM.MMM
MM:MMM
MM;MMM
MM/MMM
s = text1.text
Replace(Replace(Replace(Replace(s, "/", "-"), ";", "-"), ":", "-"), ".", "-")
MM-MMM
MM-MMM
MM-MMM
MM-MMM
                
            MM:MMM
MM;MMM
MM/MMM
s = text1.text
Replace(Replace(Replace(Replace(s, "/", "-"), ";", "-"), ":", "-"), ".", "-")
MM-MMM
MM-MMM
MM-MMM
MM-MMM
Putz q show!!
E Funciona!!?
                    Funciona sim... Porém eu faria diferente... criaria uma função para isto.
De uma olhada no exemplo abaixo:
                
            De uma olhada no exemplo abaixo:
Private Sub Form_Load()
    MsgBox ReplaceMultiplo("MM.MM;MM,MM/", ".|;|,|/", "|", "-")
End SubPublic Function ReplaceMultiplo(Str As String, Procurar As String, Delimiter As String, Substituir As String) As String
    Dim ArReplace As Variant
    
    If InStr(1, Procurar, Delimiter) = 0 Then
        Str = Replace(Str, Procurar, Substituir)
        ReplaceMultiplo = Str
        Exit Function
    End If
    
    ArReplace = Split(Procurar, Delimiter)
    
    For i = 0 To UBound(ArReplace)
        Str = Replace(Str, ArReplace(i), Substituir)
    Next
    ReplaceMultiplo = Str
End Function
                    Marcelo, e formatando a entrada em um TextBox, como seria a chamada?
                
            
                    O problema agora é que o usuário digita MM;.MMM, eu teria que retirar os dois caracteres errados e substituir por (-). Como ficaria a função?
                
            
                    acho que e + facil vc fazer derrepente um controle do que o cara digita...... deixando somente digitar o caracter especial - que e o que vc quer .....
                
            
                    Ficaria assim amigo:
                
            Text1.Text = ReplaceMultiplo(Text1.Text,";|,|.|/|\|","|","-")
                    Marcelo, legal sua função esta funcionado. Usei conforme abaixo:
TxtOF.text = ReplaceMultiplo(TxtOF.text, ".|;|,|/,|>,|+,|<,|*,|%,|\", "|", "-")
mas tem uma dúvida, se eu coloco mais um carater na sequencia a função não funciona. Existe limite de caracteres nesta sua função? No caso estou querendo acrecentar (#) e (%).
                
            TxtOF.text = ReplaceMultiplo(TxtOF.text, ".|;|,|/,|>,|+,|<,|*,|%,|\", "|", "-")
mas tem uma dúvida, se eu coloco mais um carater na sequencia a função não funciona. Existe limite de caracteres nesta sua função? No caso estou querendo acrecentar (#) e (%).
                    cara... não tem limite.. desde que entre cada um dos caracteres vc coloque o Delimitador, pré-definido por vc tb.
Fiz o teste aqui e funcionou, da uma olhada:
TxtOF.text = ReplaceMultiplo(TxtOF.text, ".|;|,|/,|>,|+,|<,|*,|%,|\|#|%|", "|", "-")
                
            Fiz o teste aqui e funcionou, da uma olhada:
TxtOF.text = ReplaceMultiplo(TxtOF.text, ".|;|,|/,|>,|+,|<,|*,|%,|\|#|%|", "|", "-")
                        Tópico encerrado , respostas não são mais permitidas