me remplaza todas las cadenas iguales cuando encuentra 5102 me lo remplaza pero yo solo quiero que me remplace ese no todos los 5102 que encuentre quiero que se pare cuando remplace el primero este es mi codigo:
Private Sub cmdReplace_Click()
If txtReplace.Text = "" Then
MsgBox "Please enter a replace string.", vbExclamation, "Find and Replace"
ElseIf txtFind = "" Then
MsgBox "Please enter a search string.", vbExclamation, "Find and Replace"
Else
rtfText.Text = FastReplace(rtfText.Text, txtFind.Text, txtReplace.Text)
End If
End Sub
Modulo
Public Function FastReplace(SSrch$, SFind$, SRepl$) As String
Dim Src() As Byte, Dst() As Byte, R() As Byte, F() As Byte
Dim LenF&, LenR&, LenDst&, i&, j&, OutPos&
Const ChunkSize& = 4096
If SSrch = "" Or SFind = "" Then Exit Function
Src = SSrch: F = SFind: R = SRepl
LenF = UBound(F): LenR = UBound(R)
LenDst = ChunkSize: ReDim Dst(0 To LenDst - 1)
For i = 0 To UBound(Src) Step 2
For j = 0 To LenF Step 2
If Src(i + j) <> F(j) Then Exit For
Next j
If j > LenF Then 'Found
For j = 0 To LenR Step 2
If OutPos >= LenDst Then
LenDst = LenDst + ChunkSize
ReDim Preserve Dst(0 To LenDst)
End If
Dst(OutPos) = R(j): OutPos = OutPos + 2
Next j
i = i + LenF - 1
Else
If OutPos >= LenDst Then
LenDst = LenDst + ChunkSize
ReDim Preserve Dst(0 To LenDst)
End If
Dst(OutPos) = Src(i): OutPos = OutPos + 2
End If
Next i
ReDim Preserve Dst(0 To OutPos - 2): SSrch = Dst
FastReplace = SSrch$
End Function
gracias