la funzione replace va bene

codice:
Option Explicit
Dim stringa As String
Dim temp As String

Private Sub Form_Load()
stringa = "ciroi"
temp = Mid(stringa, 2, 1)
stringa = Replace(stringa, temp, "x", 1, 1 )
MsgBox stringa
End Sub
mi restituisce cxroi

in questo caso è impostato che deve sostituire sempre la seconda lettera ma ovvviamente giocando con le variabili puoi sostituire la lettera che vuoi
nel caso che tu voglia sostituire tutte le ripetizioni di quella lettera togli il neretto