Pues con el fin de colaborar con las ideas de el_pop, y tambien para estrenar esta sección =b .
Aquí les comparto el código para convertir números a letras por medio de una macro en hojas de cálculo.
Esto es ideal para hacer una hoja de cálculo para llenar formatos de facturas.
Cabe destacar que este código esta adaptado a los Mexicanismos del área contable.
Por último, para invocar la función solo basta el parametro num_texto (y la celda en cuestión)
Pues sin mas preambulo, aquí el codigo, realmente sería bueno a ver quien lo puede pasar para que funcione en OO.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 | Function Num_texto(Numero) Dim Texto Dim Millones Dim Miles Dim Cientos Dim Decimales Dim Cadena Dim CadMillones Dim CadMiles Dim CadCientos Texto = Numero Texto = FormatNumber(Texto, 2) Texto = Right(Space(14) & Texto, 14) Millones = Mid(Texto, 1, 3) Miles = Mid(Texto, 5, 3) Cientos = Mid(Texto, 9, 3) Decimales = Mid(Texto, 13, 2) CadMillones = ConvierteCifra(Millones, 1) CadMiles = ConvierteCifra(Miles, 1) CadCientos = ConvierteCifra(Cientos, 0) If Trim(CadMillones) > "" Then If Trim(CadMillones) = "UN" Then Cadena = CadMillones & " MILLON" Else Cadena = CadMillones & " MILLONES" End If End If If Trim(CadMiles) > "" Then Cadena = Cadena & " " & CadMiles & " MIL" End If If Trim(CadMiles & CadCientos) = "" Then Cadena = "(" & Cadena & "UNO CON " & "PESOS" & " " & Decimales & "/100 M.N)" Else If Miles & Cientos = "000000" Then Cadena = "(" & Cadena & " " & Trim(CadCientos) & " " & "PESOS" & " " & Decimales & "/100 M.N. )" Else Cadena = "(" & Cadena & " " & Trim(CadCientos) & " " & "PESOS" & " " & Decimales & "/100 M.N. )" End If End If Num_texto = Trim(Cadena) End Function Function ConvierteCifra(Texto, SW) Dim Centena Dim Decena Dim Unidad Dim txtCentena Dim txtDecena Dim txtUnidad Centena = Mid(Texto, 1, 1) Decena = Mid(Texto, 2, 1) Unidad = Mid(Texto, 3, 1) Select Case Centena Case "1" txtCentena = "CIEN" If Decena & Unidad <> "00" Then txtCentena = "CIENTO" End If Case "2" txtCentena = "DOSCIENTOS" Case "3" txtCentena = "TRESCIENTOS" Case "4" txtCentena = "CUATROCIENTOS" Case "5" txtCentena = "QUINIENTOS" Case "6" txtCentena = "SEISCIENTOS" Case "7" txtCentena = "SETECIENTOS" Case "8" txtCentena = "OCHOCIENTOS" Case "9" txtCentena = "NOVECIENTOS" End Select Select Case Decena Case "1" txtDecena = "DIEZ" Select Case Unidad Case "1" txtDecena = "ONCE" Case "2" txtDecena = "DOCE" Case "3" txtDecena = "TRECE" Case "4" txtDecena = "CATORCE" Case "5" txtDecena = "QUINCE" Case "6" txtDecena = "DIECISEIS" Case "7" txtDecena = "DIECISIETE" Case "8" txtDecena = "DIECIOCHO" Case "9" txtDecena = "DIECINUEVE" End Select Case "2" txtDecena = "VEINTE" If Unidad <> "0" Then txtDecena = "VEINTI" End If Case "3" txtDecena = "TREINTA" If Unidad <> "0" Then txtDecena = "TREINTA Y " End If Case "4" txtDecena = "CUARENTA" If Unidad <> "0" Then txtDecena = "CUARENTA Y " End If Case "5" txtDecena = "CINCUENTA" If Unidad <> "0" Then txtDecena = "CINCUENTA Y " End If Case "6" txtDecena = "SESENTA" If Unidad <> "0" Then txtDecena = "SESENTA Y " End If Case "7" txtDecena = "SETENTA" If Unidad <> "0" Then txtDecena = "SETENTA Y " End If Case "8" txtDecena = "OCHENTA" If Unidad <> "0" Then txtDecena = "OCHENTA Y " End If Case "9" txtDecena = "NOVENTA" If Unidad <> "0" Then txtDecena = "NOVENTA Y " End If End Select If Decena <> "1" Then Select Case Unidad Case "1" If SW Then txtUnidad = "UN" Else txtUnidad = "UN" End If Case "2" txtUnidad = "DOS" Case "3" txtUnidad = "TRES" Case "4" txtUnidad = "CUATRO" Case "5" txtUnidad = "CINCO" Case "6" txtUnidad = "SEIS" Case "7" txtUnidad = "SIETE" Case "8" txtUnidad = "OCHO" Case "9" txtUnidad = "NUEVE" End Select End If ConvierteCifra = txtCentena & " " & txtDecena & txtUnidad End Function |
Cualquier cuestion constructiva bienvenida.
Agora en perl
No entiendo la linea 11….
Error de copiado con “>” ?
Por alguna misteriosa razón el codigo no “subio” completo
esto es lo que hacia falta
mmm si persisten varias lineas con error tal vez no puse bien la equita pre