Viendo los números como palabras en excel

Si alguna vez ha necesitado para mostrar un número escrito como el texto, es probable que descubriste que Excel no ofrece una función de este tipo. Cuando Excel no puede entregar, a menudo es posible corregir la deficiencia mediante el uso de VBA. He aquí una función de VBA, de nombre SPELLDOLLARS

, que se puede utilizar en las fórmulas de la hoja de trabajo.

Ejemplos de Excel

Estos son algunos ejemplos de SPELLDOLLARS.

imagen0.jpg

El código VBA

Para utilizar este código, presione Alt + F11 para activar el Editor de Visual Basic. A continuación, elija Insertar - Módulo para insertar un nuevo módulo de VBA. Copia el código y pegarlo en el nuevo módulo.

SPELLDOLLARS función (celulares) como variante 'Devuelve un valor, enunciados en wordsDim Dólares como secuencia, Cents Como StringDim TextLen As Long, Pos Como LongDim Temperatura Como StringDim iHundreds As Long, itens As Long, Iones Como Ones LongDim Como variante, Adolescentes Como Variant, Decenas Como VariantDim Unidades (2 a 5) Como StringDim Bhit As Boolean, NegFlag As Boolean '¿Es un no-número o celda vacía? Si No IsNumeric (celular) o célula = " " ThenSPELLDOLLARS = CVErr (xlErrValue) Salir FunctionEnd Si '¿Es negativo? Si celular lt; 0 ThenNegFlag = Truecell = IfDollars Abs (celular) End = Format (celular, " ### 0.00 ") TextLen = Len (Dólares) - 3 '¿Es demasiado grande Si TextLen> 15 ThenSPELLDOLLARS = CVErr (xlErrNum) Salir FunctionEnd Si? ¿Los centavos partCents = Right (Dólares, 2) " / 100 Dólares " Si celular lt; 1 ThenSPELLDOLLARS = CentsExit FunctionEnd IfDollars = Izquierda (Dólares, TextLen) Ones = Array (" “ ;, " # 148 ;, Uno " # 148 ;, Dos " # 148 ;, Tres " Four # 148 ;, _ " # 148 ;, Cinco " # 148 ;, Seis " # 148 ;, Siete " # 148 ;, Ocho " Nueve ") Adolescentes = Array (" # 148 ;, Diez " # 148 ;, Once " # 148 ;, Doce " # 148 ;, Trece " Catorce # 148 ;, _ " # 148 ;, Quince " # 148 ;, Dieciséis " # 148 ;, Seventeen " # 148 ;, Dieciocho " Diecinueve ") Decenas = Array (" “ ;, " “ ;, " # 148 ;, Veinte " # 148 ;, Treinta " # 148 ;, Cuarenta " Cincuenta # 148 ;, _ " # 148 ;, Sixty " # 148 ;, Setenta " # 148 ;, Ochenta " Noventa ") Unidades (2) = " Mil " Unidades (3) = " Millones " Unidades (4) = " Billion " Unidades (5) = " trillón " temp = " " Para Pos = 15 Para 3 Paso -3If TextLen> = Pos - 2 ThenbHit = FalseIf TextLen> = Pos TheniHundreds = Asc (Mid $ (Dólares, TextLen - Pos + 1, 1)) - 48If iHundreds> 0 ThenTemp = Temperatura " " Unos (iHundreds) " Hundred " Bhit = TrueEnd IfEnd IfiTens = 0iOnes = 0si TextLen> = Pos - 1 TheniTens = Asc (Mid $ (Dólares, TextLen - Pos + 2, 1)) - 48End IFIF TextLen> = Pos - 2 TheniOnes = Asc ( Mediados $ (Dólares, TextLen - Pos + 3, 1)) - 48End IFIF itens = 1 ThenTemp = Temperatura " " Adolescentes (Iones) Bhit = TrueElseIf itens> = 2 ThenTemp = Temperatura " " Decenas (ítems) Bhit = TrueEnd IFIF Iones> 0 ThenIf itens> = 2 ThenTemp = Temperatura " - " ElseTemp = Temperatura " " Fin IfTemp = Temperatura Ones (Iones) Bhit = TrueEnd IfEnd IFIF Bhit Y Pos> 3 ThenTemp = Temperatura " " Unidades (Pos 3) Fin IfEnd IfNext PosSPELLDOLLARS = Trim (Temp) " y " CentsIf NegFlag Entonces SPELLDOLLARS = " (" SPELLDOLLARS ") " End Function



» » » » Viendo los números como palabras en excel