Excel - Error en un módulo

 
Vista:

Error en un módulo

Publicado por Karla (5 intervenciones) el 27/03/2007 18:43:03
Hola, tengo un módulo para realizar x función, el problema es que al intentar usar la función me dice #name?. Sé que mi función funciona porque la he visto funcionar, pero yo no sé que hacerle, en la seguridad de la macro tengo el nivel medio... Ojalá alguien pueda ayudarme, saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Abraham Valencia
Val: 313
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

RE:Error en un módulo

Publicado por Abraham Valencia (2415 intervenciones) el 27/03/2007 18:44:38
Aparentemente, no esta reconocida la funcion del modulo, es mas, pareciera que no existe. envia el codigo para revisarlo, y tambien la una formula de como la aplicas.

Abraham
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error en un módulo

Publicado por Karla (5 intervenciones) el 27/03/2007 19:10:33
Mi código es

Function Convierte(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)
CadMiles = ConvierteCifra(Miles)
CadCientos = ConvierteCifra(Cientos)
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(CadCientos) = "UN" Then
Cadena = "UN PESO " & Decimales & "/100 M.N."
Else
If Miles & Cientos = "000000" Then
Cadena = Cadena & " " & Trim(CadCientos) & " DE PESOS " & Decimales & "/100 M.N."
Else
Cadena = Cadena & " " & Trim(CadCientos) & " PESOS " & Decimales & "/100 M.N."
End If
End If
ConvierteNumLetra = Trim(Cadena)
End Function

Function ConvierteCifra(Texto)
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"
txtUnidad = "UN"
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

__________________

Y la aplico así

=Convierte(f17)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Abraham Valencia
Val: 313
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

RE:Error en un módulo

Publicado por Abraham Valencia (2415 intervenciones) el 27/03/2007 19:36:26
Ya, hasta ahi entiendo. Me olvidadba, en el primer mensaje colcoaste que tu nivel de seguridad era "medio", entocnes, al abir tu aplicacion, antes que nada debes elegir "habilitar macros", eso lo tienes que hacer d etodos modos. si no las habilitas, cada vez que digites tu funcion, saldra el error de nombre (name). Otra cosa, que hay en F17??? No me lo menciones!!!! escribelo tal y como esta!!!!

Abraham
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error en un módulo

Publicado por Karla (5 intervenciones) el 27/03/2007 19:39:39
Si las habilito siempre , y tengo
=Convierte(1000)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error en un módulo

Publicado por Karla (5 intervenciones) el 27/03/2007 19:48:11
Espera espera, obtuve ya un resultado, le cambié la seguridad a minima, y me da a veces como resultado un guión y a veces las cantidades pero mal, pero creo que eso ya lo tendré que ver en mi programa.... gracias Abraham
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Abraham Valencia
Val: 313
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

RE:Error en un módulo

Publicado por Abraham Valencia (2415 intervenciones) el 27/03/2007 19:58:59
a veces un guion?? a veces los resultados pero mal??? realmente no entiendo, porque la verdad, para mi, esta mal plantedo el codigo de tu funcion CONVIERTE, es mas, a mi no me da ningun resultado, o mejor dicho, siempre da cero (0)

Abraham
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error en un módulo

Publicado por JuanC (792 intervenciones) el 27/03/2007 20:08:16
Yo enconté el siguiente error en la última línea de la función

ConvierteNumLetra = Trim(Cadena)

debe ser Convierte = Trim(Cadena)

después anduvo bien...

Saludos desde Baires, JuanC

Abraham: ya casi lo tengo... http://juanc2942.iespana.es
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Abraham Valencia
Val: 313
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

RE:Error en un módulo

Publicado por Abraham Valencia (2415 intervenciones) el 27/03/2007 21:11:33
Siendo apenas las 2:20 pm aqui, acabo de llegar de almorzar, despues de.por supuetso, un delicioso helado.

JuanC, tienes razon, ese era el unico error, supongo que ahora si nuestra amiga Karla no tendra dilemas. Otra cosa amigo, acabo de entra al enlace, pero no pude ver las imagenes. Alguien mas tuvo ese problema o es mi nvegador????

Abraham
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Gracias

Publicado por Karla (5 intervenciones) el 27/03/2007 21:43:39
Gracias muchachos, todo está excelente y he aprendido cosas nuevas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar