Tenta utilizar uma variável como string, substituir o ponto por vírgula (ou vice-versa) e converter a string para decimal.
Fiz um teste aqui e deu certo.
Sub gravardec()
Dim valordec1 As String
valordec1 = Plan1.Cells(1, "A").Value
CDec (valordec1) 'converte a string em decimal
MsgBox Replace(valordec1, ".", ",") 'converte ponto para virgula, se precisar inverta primeiro virgula e depois ponto
End Sub
Espero ter ajudado.
Abraço,
Ricardo