Tabla de contenido:
Video: Convertir números de celda en letras fácil y rápido en Excel 2024
Si alguna vez necesitó mostrar un número escrito como texto, probablemente descubrió que Excel no ofrece esa función. Cuando Excel no cumple, a menudo es posible corregir la deficiencia mediante el uso de VBA. Aquí hay una función de VBA, llamada SPELLDOLLARS, que puede usar en las fórmulas de la hoja de trabajo.
Ejemplos de Excel
Estos son algunos ejemplos de SPELLDOLLARS.
El código de VBA
Para usar este código, presione Alt + F11 para activar el Editor de Visual Basic. Luego elija Insertar → Módulo para insertar un nuevo módulo de VBA. Copie el código y péguelo en el nuevo módulo.
Función SPELLDOLLARS (celda) Como variante 'Devuelve un valor, expresado en palabras Dim Dólares como cadena, Cents como cadena Dim TextLen como largo, Pos como largo Dim Temp como cadena Dim HyHuntos como mucho, iTens como largo, iOnes As Long Dim Ones como Variante, Adolescentes como Variante, Decenas como Variant Dim Units (2 a 5) Como String Dim bHit As Boolean, NegFlag As Boolean '¿Es un número no vacío o celda vacía? If Not IsNumeric (cell) O cell = "" Entonces SPELLDOLLARS = CVErr (xlErrValue) Salir de la función End If If '¿Es negativo? Si la celda 15 Entonces SPELLDOLLARS = CVErr (xlErrNum) Salir de la función End If 'Hacer los centavos parte Cents = Right (Dollars, 2) & "/ 100 Dollars" If cell = Pos - 2 Then bHit = False If TextLen> = Pos Then iHundreds = Asc (Mid $ (Dólares, TextLen - Pos + 1, 1)) - 48 If IHundreds> 0 Then Temp = Temp & "" & Ones (iHundreds) & "Hundred" bHit = True End If End If iTens = 0 iOnes = 0 If TextLen> = Pos - 1 Then iTens = Asc (Mid $ (Dólares, TextLen - Pos + 2, 1)) - 48 End If If TextLen> = Pos - 2 Entonces iOnes = Asc (Medio $ (Dólares, TextLen) - Pos + 3, 1)) - 48 End If If iTens = 1 Then Temp = Temp & "" & Teens (iOnes) bHit = True Else If iTens> = 2 Then Temp = Temp & "" & Tens (iTens) bHit = True End If If IOnes> 0 Then If iTens> = 2 Then Temp = Temp & "-" Else Temp = Temp & "" End If Temp = Temp & Ones (iOnes) bHit = True End If End If If bHit Y Pos > 3 Then Temp = Temp & "" & Units (Pos 3) End If End If Next Pos SPELLDOLLARS = Trim (Temp) & "y" & Cents If NegFlag Then SPELLDO LLARS = "(" & SPELLDOLLARS & ")" Función de finalización