vb tiene una funcion interna llamada replace, que hace lo que tu quieres
Option Explicit
Private Sub Form_Load()
Dim c As String
c = "Estoy Trabajando En Un Proyecto Mientras Pienso En Las Suaves Piernas De Mi Novia"
Debug.Print cReplaceSubStr(c, " ", "")
Debug.Print Replace(c, " ", "") '<--- VBA.Replace()
End Sub
Public Function cReplaceSubStr(ByVal c As String, ByVal cSub As String, ByVal cNew As String) As String
Dim nPos As Integer, nStartPos As Integer, cRet As String
nStartPos = 1
nPos = InStr(c, cSub)
Do While nPos > 0
cRet = cRet & _
Mid(c, nStartPos, nPos - nStartPos) & _
cNew
nStartPos = nPos + Len(cSub)
nPos = InStr(nStartPos, c, cSub)
Loop
cRet = cRet & Mid(c, nStartPos)
cReplaceSubStr = cRet
End Function