Como convertir un numero a letras en un userform
Necesito que me ayuden con un problema en un formulario tengo un textbox en el cual ingreso un valor y lo que necesito es que al ingresar y salir de este textbox (evento exit) en otro textbox me aparezaca en letras el valor ingresado es decir cuando yo ingrese en el textbox1 25,325.25 y cambie al siguiente control en el textbox2 me aparezca "VEINTICICO MIL TRESCIENTOS VEINTICINCO CON 25/100" yo se que esto se hace en excel con una funcion la cual ya tengo y me funciona perfectamente pero no se como incorporarla a un userform con los controles antes mencionados
Esta es la funcion que utilizo en excel
'Funcion para pasar numeros a letras
Function Lempiras(Valor As Currency, Optional MonedaSingular As String = "", Optional MonedaPlural As String = "") As String
Dim lyCantidad As Currency, lyCentavos As Currency, lnDigito As Byte, lnPrimerDigito As Byte, lnSegundoDigito As Byte, lnTercerDigito As Byte, lcBloque As String, lnNumeroBloques As Byte, lnBloqueCero
Dim laUnidades As Variant, laDecenas As Variant, laCentenas As Variant, I As Variant 'Si esta como Option Explicit
Dim ValorEntero As Long
Valor = Round(Valor, 2)
lyCantidad = Int(Valor)
ValorEntero = lyCantidad
lyCentavos = (Valor - lyCantidad) * 100
Launidades = array("un", "dos", "tres", "cuatro", "cinco", "seis", "siete", "ocho", "nueve", "diez", "once", "doce", "trece", "catorce", "quince", "dieciseis", "diecisiete", "dieciocho", "diecinueve", "veinte", "veintiun", "veintidos", "veintitres", "veinticuatro", "veinticinco", "veintiseis", "veintisiete", "veintiocho", "veintinueve")
laDecenas = Array("DIEZ", "VEINTE", "TREINTA", "CUARENTA", "CINCUENTA", "SESENTA", "SETENTA", "OCHENTA", "NOVENTA")
Lacentenas = array("ciento", "doscientos", "trescientos", "cuatrocientos", "quinientos", "seiscientos", "setecientos", "ochocientos", "novecientos")
lnNumeroBloques = 1
Do
lnPrimerDigito = 0
lnSegundoDigito = 0
lnTercerDigito = 0
lcBloque = ""
lnBloqueCero = 0
For I = 1 To 3
lnDigito = lyCantidad Mod 10
If lnDigito <> 0 Then
Select Case I
Case 1
lcBloque = " " & laUnidades(lnDigito - 1)
lnPrimerDigito = lnDigito
Case 2
If lnDigito <= 2 Then
lcBloque = " " & laUnidades((lnDigito * 10) + lnPrimerDigito - 1)
Else
lcBloque = " " & laDecenas(lnDigito - 1) & IIf(lnPrimerDigito <> 0, " Y", Null) & lcBloque
End If
lnSegundoDigito = lnDigito
Case 3
lcBloque = " " & IIf(lnDigito = 1 And lnPrimerDigito = 0 And lnSegundoDigito = 0, "CIEN", laCentenas(lnDigito - 1)) & lcBloque
lnTercerDigito = lnDigito
End Select
Else
lnBloqueCero = lnBloqueCero + 1
End If
lyCantidad = Int(lyCantidad / 10)
If lyCantidad = 0 Then
Exit For
End If
Next I
Select Case lnNumeroBloques
Case 1
Lempiras = lcBloque
Case 2
Lempiras = lcBloque & IIf(lnBloqueCero = 3, Null, " MIL") & Lempiras
Case 3
Lempiras = lcBloque & IIf(lnPrimerDigito = 1 And lnSegundoDigito = 0 And lnTercerDigito = 0, " MILLON", " MILLONES") & Lempiras
End Select
lnNumeroBloques = lnNumeroBloques + 1
Loop Until lyCantidad = 0
Lempiras = Lempiras & " LEMPIRAS CON " & Format(Str(lyCentavos), "00") & "/100 " & IIf(ValorEntero = 1, MonedaSingular, MonedaPlural)
End Function
Espero me puedan explicar que es lo que debo hacer para que me funcione como lo necesito.