Hola a todos,

No consigo que un función recursiva me devuelva el valor que necesito. La función es para que me devuelva si un número entero (x) en múltiplo de 3 y si no lo es, voy sumando 1 y vuelvo a llamar la función.

Éste es el código:

Private Function DameMultiplo3(pAux As Double) As Double
Dim vDev As Double

If pAux Mod 3 = 0 Then
vDev = pAux / 100
Else
pAux = pAux + 1
DameMultiplo3(pAux)
End If
Return vDev
End Function

también he probado la recursividad con esta otra función:

Private Function DameMultiplo3(pAux As Double) As Double
Dim vDev As Double

If pAux Mod 3 = 0 Then
Return vDev = pAux / 100
Else
pAux = pAux + 1
Return DameMultiplo3(pAux)
End If

End Function

pero en ambas funciones una vez me devuelve el valor de Return vuelve a llamar a la función y siempre me devuelve el valor 0.

Podrían decirme en que estoy fallando? Muchas gracias de antemano