Hola, yo he tenido el mismo problema y he probado con el UTF? y no consegui solucconarlo, te paso la función que hice para solucionarlo
Sub Remplaza_Char(Valor As String)
Dim Caracte As String
Caracte = Valor
Caracte=Caracte.Replace("ñ", Chr(164))
Caracte=Caracte.Replace("Ñ", Chr(165))
Caracte=Caracte.Replace("º", Chr(167))
Caracte=Caracte.Replace("ª", Chr(166))
Caracte=Caracte.Replace("á", Chr(160))
Caracte=Caracte.Replace("é", Chr(130))
Caracte=Caracte.Replace("í", Chr(161))
Caracte=Caracte.Replace("ó", Chr(162))
Caracte=Caracte.Replace("ú", Chr(163))
Caracte=Caracte.Replace("Á", "A")
Caracte=Caracte.Replace("É", "E")
Caracte=Caracte.Replace("Í", "I")
Caracte=Caracte.Replace("Ó", "O")
Caracte=Caracte.Replace("Ú", "U")
Return Caracte
End Sub
un saludo
Paco