COMO HAGO UN MACRO PARA QUE AL PONER UNA CANTIDAD CON NUMERO

Para subir hojas de calculo de Ingenieria civil
Reglas del Foro
Favor de usar el boton de Dar Gracias
En el mensaje del usuario al que deseas agradecer
En vez de escribir gracias repetidamente
Responder
pacheco
Usuario Intermedio
Usuario Intermedio
Mensajes: 79
Registrado: Vie Nov 28, 2008 12:44 pm

EXPERTOS EN EXCEL OJALA ME PUEDAN AYUDAR EN EXPLICARME COMO HAGO UN MACRO PARA QUE MI CANTIDAD QUE APARECE EN UNA CELDA ME APARESCA EN OTRA CELDA PERO CON LETRA, DISCULPENME CASI NO SOY EXPERTO EN MACROS. SALUDOS Y HOJALA ME PUEDAN AYUDAR. SALUDOS DESDE VERACRUZ MEXICO
cristobalvelezv
Usuario Principiante
Usuario Principiante
Mensajes: 5
Registrado: Mié Dic 03, 2008 10:22 am

Este archivo lo tienes que copiar en mis documentos y en excel agregar un complemento en herramientas y buscas la ruta donde lo guardaste y la fórmula es la siguiente:
=numtxt(celda de número;"Moneda local";2)
surfer200
Usuario Frecuente
Usuario Frecuente
Mensajes: 120
Registrado: Sab May 12, 2007 11:33 am
Ubicación: Zapopan

Te anexo un libro de excel, que trae la función "pesos", es muy fácil de usar, trae un ejemplo en el libro y el código la ves en vb.
No tienes los permisos requeridos para ver los archivos adjuntos a este mensaje.
Última edición por surfer200 el Sab Ene 10, 2009 5:02 pm, editado 1 vez en total.
pacheco
Usuario Intermedio
Usuario Intermedio
Mensajes: 79
Registrado: Vie Nov 28, 2008 12:44 pm

hola amigo cristobal muchas gracias por tu informacion, solo que no me quedo claro como buscar laruta que me dices despues de haber guardado el archivo en mis documentos y cual es "ud" donde puedo ver el codigo. no se que tan corecto sea veinte y tres pesos o veintitres pesos; esque tengo uno y su formula es (=+PESOSCOMOFACTURA(REDONDEAR(B19,2)) pero al querer hacer otro o copiar la formula se me desconfigura y me ponne error. gracias amigo enverdad y ojala me puedas ayudar. saludos desde veracruz mexico
kuky2008
Usuario Principiante
Usuario Principiante
Mensajes: 17
Registrado: Sab Jul 05, 2008 9:07 am
Ubicación: TARIJA
Bolivia

Baje el archivo que contiene la formula pesos
Me genera error cuando introduzco un numero menor que uno por ejemplo 0.65
Mi pregunta es si es que este macro solo es para numeros mayores a uno
kuky2008
Usuario Principiante
Usuario Principiante
Mensajes: 17
Registrado: Sab Jul 05, 2008 9:07 am
Ubicación: TARIJA
Bolivia

PUDE DESCARGAR DE LA RED UN PROGRAMA QUE CONTIENE 112 FUNCIONES NUEVAS PARA EXCEL, QUIZAS YA ESCUCHARON DE EL,
CON TIENE UNA FUNCION LLAMADA "=ALETRAS("CELDA"). EL INCOVENIENTE QUE TIENE ES SOLO PARECE FUNCIONAR CON OFFICE 2003.
SI ALGUIEN LO QUIERE PROBAR ME LO PIDE.
Avatar de Usuario
ajmojicar2002
Usuario Master Superior
Usuario Master Superior
Mensajes: 446
Registrado: Mié Sep 22, 2004 8:44 pm
Ubicación: SANTA MARTA

kuky2008 escribió:PUDE DESCARGAR DE LA RED UN PROGRAMA QUE CONTIENE 112 FUNCIONES NUEVAS PARA EXCEL, QUIZAS YA ESCUCHARON DE EL,
CON TIENE UNA FUNCION LLAMADA "=ALETRAS("CELDA"). EL INCOVENIENTE QUE TIENE ES SOLO PARECE FUNCIONAR CON OFFICE 2003.
SI ALGUIEN LO QUIERE PROBAR ME LO PIDE.
Hola. te agradeceriamos mucho si colocas dicho enlace para bajar el programa
kuky2008
Usuario Principiante
Usuario Principiante
Mensajes: 17
Registrado: Sab Jul 05, 2008 9:07 am
Ubicación: TARIJA
Bolivia

AQUI LES ENVIO EL ARCHIVO. LO BAJE UNA VEZ.
SOLO TIENES QUE EJECUTARLO Y LUEGO BUSCARLO EN LA UBICACION QUE SE INSTALO , AHI ENCONTRARAS LAS INSTRUCCIONES PARA PODER HABILITARLO EN TU EXCEL
No tienes los permisos requeridos para ver los archivos adjuntos a este mensaje.
kuky2008
Usuario Principiante
Usuario Principiante
Mensajes: 17
Registrado: Sab Jul 05, 2008 9:07 am
Ubicación: TARIJA
Bolivia

BUENO QUISIERA POR FAVOR QUE ME AYUDEN EN EL CASO DEL ARCHIVO QUE ESTA MAS ARRIBA CON LA FUNCION PESOS LA CUAL PUDE VER QUE TIENE VARIOS INCONVENIENTES COMO POR EJEMPLO NO ME FUNCIONA CON NUMEROS MENORES QUE 1 POR EJEMPLO 0.56, O CON NUMEROS COMO ESTE 10652235.58, SI LO INGRESO SIN LA PARTE DECIMAL FUNCIONA DE LO CONTRARIO TAL Y COMO ESTA NO FUNCIONA.
CarlosR2
Usuario Principiante
Usuario Principiante
Mensajes: 4
Registrado: Vie May 29, 2009 11:39 am

AHI TE ENVIO UN ARCHIVO EXCEL, ESPERO QUE TE SIRVA

ATTE, CARLOSR2
No tienes los permisos requeridos para ver los archivos adjuntos a este mensaje.
Letyvv22
Usuario Principiante
Usuario Principiante
Mensajes: 1
Registrado: Mié Jul 20, 2011 2:41 pm

Esta es la macro:
Function PesosMN(tyCantidad As Currency) As String
Dim lyCantidad As Currency
Dim lyCentavos As Currency
Dim lnDigito As Byte
Dim lnPrimerDigito As Byte
Dim lnSegundoDigito As Byte
Dim lnTercerDigito As Byte
Dim lcBloque As String
Dim lnNumeroBloques As Byte
Dim lnBloqueCero
Dim laUnidades As Variant
Dim laDecenas As Variant
Dim laCentenas As Variant
Dim I As Variant
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
PesosMN = lcBloque
Case 2
PesosMN = lcBloque & IIf(lnBloqueCero = 3, Null, " MIL") & PesosMN
Case 3
PesosMN = lcBloque & IIf(lnPrimerDigito = 1 And lnSegundoDigito = 0 And lnTercerDigito = 0, " MILLON", " MILLONES") & PesosMN
End Select
lnNumeroBloques = lnNumeroBloques + 1
Loop Until lyCantidad = 0
PesosMN = "(" & PesosMN & IIf(tyCantidad > 1, " PESOS ", " PESO ") & Format(Str(lyCentavos), "00") & "/100 M.N.)"
End Function

Abres Visual Basic, creas un modulo, pegas este codigo, lo guardas, y desde una casilla de excel la mandas llamar =pesosMN(a1)
Responder
  • Similar Topics
    Respuestas
    Vistas
    Último mensaje

Volver a “Hojas de Calculo Excel”

  • Información