English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
Todas las categorías

Quiero Ingresar Numeros En Una Celda Y Que En Otra Celda Que Yo Elija Me Ponga La Misma Cantidad Que Puse En Numero Pero Me la Ponga En Letra Es Decir Si Hiciera Un Cheque Poner 100,520.00 En Una Celda y Que En Otra Celda Me Ponga Cien Mil Quinientos Veinte Pesos M.N.

Agradecere Su Ayuda Dandoles El Maximo De Puntois Y Calificando La Respuesta Con Todas Las Estrellas.

Espero Su Ayuda y De Antemano Gracias ...

2006-12-19 05:30:54 · 10 respuestas · pregunta de F*** ME, I'M FAMOUS ! 6 en Ordenadores e Internet Software

10 respuestas

En excel presionas Alt + F11 para que te aparezca el editor de visual basic.

En el editor de visual basic haces click en el menu "Insertar" y seleccionas modulo. Esto te va a abrir una nueva ventana dentro del editor.

Dentro de esta venta pegas el texto que te agrego al final de la respuesta.

Cierras el editor de visual basic.

Con esto ya solo deberas escribir en la celda que quieres la cantidad con letra:

CantidadConLetra(Celda en numero)

Por ejemplo: CantidadConLetra(B5).

Un detalle mas, para que esto funcione correctamente, debes de habilitar el uso de macros cada vez que abras el archivo.



Texto a pegar en el editor de Visual Basic:


Function CantidadConLetra(tyCantidad As Currency) 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

tyCantidad = Round(tyCantidad, 2)

lyCantidad = Int(tyCantidad)

lyCentavos = (tyCantidad - 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

CantidadConLetra = lcBloque

Case 2

CantidadConLetra = lcBloque & IIf(lnBloqueCero = 3, Null, " MIL") & CantidadConLetra

Case 3

CantidadConLetra = lcBloque & IIf(lnPrimerDigito = 1 And lnSegundoDigito = 0 And lnTercerDigito = 0, " MILLON", " MILLONES") & CantidadConLetra

End Select

lnNumeroBloques = lnNumeroBloques + 1

Loop Until lyCantidad = 0

CantidadConLetra = "(SON " & CantidadConLetra & IIf(tyCantidad > 1, " PESOS ", " PESOS ") & Format(Str(lyCentavos), "00") & "/100 M.N. )"

End Function

2006-12-19 05:41:41 · answer #1 · answered by K Guy 4 · 1 0

Si deseas usar solo las funciuones de Excel utiliza buscarv o bajate un archivo del siguiente link www.lawebdelprogramador.com te vas a codigo fuente y la instalas, es sencillo.
jonathanpinales@yahoo.com.mx

Saludos y suerte

2006-12-19 13:34:16 · answer #2 · answered by JONATHAN PINALES 5 · 1 0

Lo mas facil y practico que pordias hacer es instalar un macro en la primer hoja de ese libro, de ahi activar las rutas a donde deseas estar haciendo esto, segun entiendo queires mecanizar el proceso pues estaras haciendolo siempre...entonces en esa primer hoja con macros escojes la hoja de inicio donde introduciras todos los datos que estarn cambiendo de situacion en situacion y ¡listo¡ tus referencias cambiaran....

2006-12-19 14:52:29 · answer #3 · answered by marychu torres 3 · 0 0

es algo complicado, no digo imposible pero excel no es exactamente para este tipo de usos. Te recomiedno comprarte un programa o de finanzas (peach tree, quick books, money, etc) o a travez de programas como Visual Basic puedas programar esto que deseas, ahi es super que facil.

2006-12-19 13:41:45 · answer #4 · answered by TRIPAS 2 · 0 0

Yo tampoco lo se pero te han respondido con una solucion para instalar y me vino bien,,, suerte

2006-12-19 13:39:57 · answer #5 · answered by Don vigi 5 · 0 0

aun no existe eso, amigo ..pero esperate un par de años y verás

2006-12-19 13:39:24 · answer #6 · answered by tenista 5 · 0 0

En excell no puedes hacer eso.
Necesitas un programa especifico para lo que quieres hacer.

2006-12-19 13:34:22 · answer #7 · answered by El nacho 2 · 0 0

Todo se puede hacer con condicionales y con las funciones basicas de excel...voy a intentar un poco...si gustas contactame por correo para ver tu avance e intercambiamos un poco. Exitos.

2006-12-19 13:34:11 · answer #8 · answered by Ricardo Cano 2 · 0 0

segun yo no se puede hacer.

2006-12-19 13:32:47 · answer #9 · answered by My 6 · 0 0

hola

2006-12-19 13:38:32 · answer #10 · answered by fher 1 · 0 1

fedest.com, questions and answers