RE:Ayuda (importe con letra)
Copiate esta, no se si utilizas euros u otra moneda, adaptala.
Function EurosLetras(Numero As Currency) As String
Static Grupos(5) As String
Dim NumeroEnLetras As String, NumChar As String, DecChar As String, Contador As Integer
Dim Unidad As String, Decena As String, Centena As String
Dim Uni2Letras As String, Dec2Letras As String, Cen2Letras As String
Dim Conector As String
NumeroEnLetras = ""
NumChar = Right("000000000000000" & Trim(Str(Int(Numero))), 15)
DecChar = Left(Trim(Str(Numero - Int(Numero)) & "000"), 3)
For Contador = 5 To 1 Step -1
Grupos(Contador) = Mid(NumChar, (5 - Contador) * 3 + 1, 3)
Next
For Contador = 5 To 1 Step -1
Unidad = Mid(Grupos(Contador), 3, 1)
Decena = Mid(Grupos(Contador), 2, 1)
Centena = Mid(Grupos(Contador), 1, 1)
Select Case Unidad
Case "0"
Uni2Letras = IIf(Numero = 0 And Contador = 1, "cero", "")
Case "1"
Uni2Letras = IIf(Decena = "1", "once", IIf(Grupos(Contador) = "001" And (Contador = 2 Or Contador = 4), "", "un "))
Case "2"
Uni2Letras = IIf(Decena = "1", "doce ", "dos ")
Case "3"
Uni2Letras = IIf(Decena = "1", "trece ", "tres ")
Case "4"
Uni2Letras = IIf(Decena = "1", "catorce ", "cuatro ")
Case "5"
Uni2Letras = IIf(Decena = "1", "quince ", "cinco ")
Case "6"
Uni2Letras = IIf(Decena = "1", "dieciseis ", "seis ")
Case "7"
Uni2Letras = IIf(Decena = "1", "diecisiete ", "siete ")
Case "8"
Uni2Letras = IIf(Decena = "1", "dieciocho ", "ocho ")
Case "9"
Uni2Letras = IIf(Decena = "1", "diecinueve ", "nueve ")
End Select
Select Case Decena
Case "0"
Dec2Letras = ""
Case "1"
Dec2Letras = IIf(Unidad = "0", "diez ", "")
Case "2"
Dec2Letras = IIf(Unidad = "0", "veinte ", "veinti")
Case "3"
Dec2Letras = "treinta " & IIf(Unidad <> "0", "y ", "")
Case "4"
Dec2Letras = "cuarenta " & IIf(Unidad <> "0", "y ", "")
Case "5"
Dec2Letras = "cincuenta " & IIf(Unidad <> "0", "y ", "")
Case "6"
Dec2Letras = "sesenta " & IIf(Unidad <> "0", "y ", "")
Case "7"
Dec2Letras = "setenta " & IIf(Unidad <> "0", "y ", "")
Case "8"
Dec2Letras = "ochenta " & IIf(Unidad <> "0", "y ", "")
Case "9"
Dec2Letras = "noventa " & IIf(Unidad <> "0", "y ", "")
End Select
Select Case Centena
Case "0"
Cen2Letras = ""
Case "1"
Cen2Letras = IIf(Decena & Unidad = "00", "cien ", "ciento ")
Case "2"
Cen2Letras = "doscientos "
Case "3"
Cen2Letras = "trescientos "
Case "4"
Cen2Letras = "cuatrocientos "
Case "5"
Cen2Letras = "quinientos "
Case "6"
Cen2Letras = "seiscientos "
Case "7"
Cen2Letras = "setecientos "
Case "8"
Cen2Letras = "ochocientos "
Case "9"
Cen2Letras = "novecientos "
End Select
Select Case Contador
Case 1
Conector = ""
Case 2
Conector = IIf(Grupos(2) > "000", "mil ", "")
Case 3
Conector = IIf(Grupos(3) > "000" Or Grupos(4) > "000", IIf(Grupos(3) = "001", "millón ", "millones "), "")
Case 4
Conector = IIf(Grupos(4) > "000", "mil ", "")
Case 5
Conector = IIf(Grupos(5) > "000", IIf(Grupos(5) = "001", "billón ", "billones "), "")
End Select
NumeroEnLetras = NumeroEnLetras & (Cen2Letras & Dec2Letras & Uni2Letras & Conector)
Next Contador
Unidad = Mid(DecChar, 3, 1)
Decena = Mid(DecChar, 2, 1)
Uni2Letras = ""
Dec2Letras = ""
Select Case Unidad
Case "0"
Uni2Letras = IIf(Decena = "0", "cero", "")
Case "1"
Uni2Letras = IIf(Decena = "1", "once", IIf(Grupos(Contador) = "001" And (Contador = 2 Or Contador = 4), "", "un "))
Case "2"
Uni2Letras = IIf(Decena = "1", "doce ", "dos ")
Case "3"
Uni2Letras = IIf(Decena = "1", "trece ", "tres ")
Case "4"
Uni2Letras = IIf(Decena = "1", "catorce ", "cuatro ")
Case "5"
Uni2Letras = IIf(Decena = "1", "quince ", "cinco ")
Case "6"
Uni2Letras = IIf(Decena = "1", "dieciseis ", "seis ")
Case "7"
Uni2Letras = IIf(Decena = "1", "diecisiete ", "siete ")
Case "8"
Uni2Letras = IIf(Decena = "1", "dieciocho ", "ocho ")
Case "9"
Uni2Letras = IIf(Decena = "1", "diecinueve ", "nueve ")
End Select
Select Case Decena
Case "0"
Dec2Letras = ""
Case "1"
Dec2Letras = IIf(Unidad = "0", "diez ", "")
Case "2"
Dec2Letras = IIf(Unidad = "0", "veinte ", "veinti")
Case "3"
Dec2Letras = "treinta " & IIf(Unidad <> "0", "y ", "")
Case "4"
Dec2Letras = "cuarenta " & IIf(Unidad <> "0", "y ", "")
Case "5"
Dec2Letras = "cincuenta " & IIf(Unidad <> "0", "y ", "")
Case "6"
Dec2Letras = "sesenta " & IIf(Unidad <> "0", "y ", "")
Case "7"
Dec2Letras = "setenta " & IIf(Unidad <> "0", "y ", "")
Case "8"
Dec2Letras = "ochenta " & IIf(Unidad <> "0", "y ", "")
Case "9"
Dec2Letras = "noventa " & IIf(Unidad <> "0", "y ", "")
End Select
If (Dec2Letras & Uni2Letras) = "cero" Then
NumeroEnLetras = NumeroEnLetras
Else
NumeroEnLetras = NumeroEnLetras & "Euros con " & Dec2Letras & Uni2Letras & "céntimos"
End If
EurosLetras = NumeroEnLetras
End Function