Te anexo una función para realizar el desglose
Function cuantos(c)
'por.Dante Amor
b = Array(500, 100, 50, 20, 10) 'Billetes
m = Array(5, 2, 1) 'Monedas
v = c
dec = v - Int(v)
dec = Right(Format(dec, ".00"), 2)
'
'Desglosa billetes
For i = LBound(b) To UBound(b)
If v / b(i) >= 1 Then
If Int(v / b(i)) = 1 Then
s = s & "uno" & " de $" & b(i) & ", "
Else
s = s & Int(v / b(i)) & " de $" & b(i) & ", "
End If
v = v - Int(v / b(i)) * b(i)
End If
Next
If s <> "" Then
s = "Billetes: " & Left(s, Len(s) - 2)
n = InStrRev(s, ",")
If n > 0 Then s = Left(s, n - 1) & " y" & Mid(s, n + 1)
Else
s = "0 billetes"
End If
'
'Desglosa monedas
If v > 0 Then
For i = LBound(m) To UBound(m)
If v / m(i) >= 1 Then
If Int(v / m(i)) = 1 Then
t = t & "una" & " de $" & m(i) & ", "
Else
t = t & Int(v / m(i)) & " de $" & m(i) & ", "
End If
v = v - Int(v / m(i)) * m(i)
End If
Next
If t <> "" Then
t = Left(t, Len(t) - 2)
n = InStrRev(t, ",")
If n > 0 Then t = Left(t, n - 1) & " y" & Mid(t, n + 1)
Else
t = " 0 monedas"
End If
Else
t = " 0 monedas."
End If
cuantos = s & ". Monedas: " & t & ". Centavos: " & dec & " Centavos"
End Function
En una celda escribe la cantidad, por ejemplo en la celda B2 escribe la cantidad. En otra celda pon la fórmula
=cuantos(B2)
Sigue las Instrucciones para una Función
- Abre tu libro de excel
- Para abrir VBa y poder pegar la función, Presiona Alt + F11
- En el menú elige Insertar / Módulo
- En el panel del lado derecho copia la función
- En cualquier celda utiliza la función, como cualquier otra función de excel
ejemplo:
Saludos. Dante Amor
Recuerda valorar la respuesta.