Funciones Presonalizadas

17/10/2004 - 19:43 por Erik Copado Perez | Informe spam
Hola Grupo:
Tengo una duda con las funciones personalizadas y es esta:

Una Función propia de Excel como SUMA te muestra la información de los
parámetros que necesita( =suma(número1,[número2], ...).

Ahorita que estoy creando mis funciones personalizadas, también necesito
parámetros.

Pero cuando mando llamar mi función en una hoja de calculo, no me
muestra los nombres de mis parámetros.

Les anexo el código de una de mis funciones

Gracias por su atención.

Function Referencia(NumProducto, Propiedad As PropiedadesProducto) As
Variant
If Not Conexion Then
MsgBox "No hay conexion al servidor, " & vbCrLf & _
"Favor de conectarse", vbCritical, "Error en Conexion BD"
Exit Function
End If
Select Case Propiedad
Case 1
Referencia = RefIntl(NumProducto)
End Select
End Function

Erik E. Copado Pérez
Sistemas
Antera, S.A. de C.V.
Tel: (55) 8503 2567
Fax: (55) 8503 2566 Ext.256

Preguntas similare

Leer las respuestas

#1 KL
17/10/2004 - 20:53 | Informe spam
A primera vista en el codigo q acabas de publicar faltan por declarar
PropiedadesProducto, Conexion y RefIntl. Si Conexion es una constante q has
declarado a nivel de modulo o proyecto y RefIntl es una macro o funcion
personalizada q tambien has omitido, lo mas probable es q tengas problema
con PropiedadesProducto - no puedes asignar un tipo de valor no estandar sin
mas, lo tienes q declarar primero.

Saludos,
KL

"Erik Copado Perez" wrote in message
news:
Hola Grupo:
Tengo una duda con las funciones personalizadas y es esta:

Una Función propia de Excel como SUMA te muestra la información de los
parámetros que necesita( =suma(número1,[número2], ...).

Ahorita que estoy creando mis funciones personalizadas, también
necesito
parámetros.

Pero cuando mando llamar mi función en una hoja de calculo, no me
muestra los nombres de mis parámetros.

Les anexo el código de una de mis funciones

Gracias por su atención.

Function Referencia(NumProducto, Propiedad As PropiedadesProducto) As
Variant
If Not Conexion Then
MsgBox "No hay conexion al servidor, " & vbCrLf & _
"Favor de conectarse", vbCritical, "Error en Conexion BD"
Exit Function
End If
Select Case Propiedad
Case 1
Referencia = RefIntl(NumProducto)
End Select
End Function

Erik E. Copado Pérez
Sistemas
Antera, S.A. de C.V.
Tel: (55) 8503 2567
Fax: (55) 8503 2566 Ext.256


Respuesta Responder a este mensaje
#2 Erik Copado Perez
17/10/2004 - 23:00 | Informe spam
Gracias por la antedicen te adiciono el código completo.

Mi duda es por que cuando mando traer la función en una celda, no me
aparecen los parámetros requeridos, que en este caso es NumProducto,
Propiedad que es un tipo Enum.



Option Explicit
Dim Conexion as Boolean ' Su valor de pedende si hizo conexion con el
servidor de base de datos.

Enum PropiedadesProducto
ReferenciaIntl = 1
Descripcion = 2
Linea = 3
Grupo = 4
Categoria = 5
FraccionArancelaria = 6
AgrupacionVentas = 7
End Enum

Private Function PRefIntl(ByVal NumProducto As String) As String
Dim Query As String

Query = "SELECT ReferenciaIntl FROM Productos "
Query = Query & "WHERE NumeroProducto = '" & NumProducto & "' "
If rs.State = adStateOpen Then
rs.Close
End If

rs.CursorLocation = adUseClient
rs.Open Query, cn, adOpenStatic, adLockReadOnly

If rs.BOF And rs.EOF Then
PRefIntl = "Sin Ref. Intl."
Else
PRefIntl = rs!ReferenciaIntl
End If
rs.Close
End Function

Function Referencia(NumProducto, Propiedad As PropiedadesProducto) As
Variant
If Not Conexion Then
MsgBox "No hay conexion al servidor, " & vbCrLf & _
"Favor de conectarse", vbCritical, "Error en Conexion BD"
Exit Function
End If
Select Case Propiedad
Case 1
Referencia = RefIntl(NumProducto)
End Select
End Function

Erik E. Copado Pérez
"KL" escribió en el mensaje
news:
A primera vista en el codigo q acabas de publicar faltan por declarar
PropiedadesProducto, Conexion y RefIntl. Si Conexion es una constante q


has
declarado a nivel de modulo o proyecto y RefIntl es una macro o funcion
personalizada q tambien has omitido, lo mas probable es q tengas problema
con PropiedadesProducto - no puedes asignar un tipo de valor no estandar


sin
mas, lo tienes q declarar primero.

Saludos,
KL

"Erik Copado Perez" wrote in message
news:
> Hola Grupo:
> Tengo una duda con las funciones personalizadas y es esta:
>
> Una Función propia de Excel como SUMA te muestra la información de


los
> parámetros que necesita( =suma(número1,[número2], ...).
>
> Ahorita que estoy creando mis funciones personalizadas, también
> necesito
> parámetros.
>
> Pero cuando mando llamar mi función en una hoja de calculo, no me
> muestra los nombres de mis parámetros.
>
> Les anexo el código de una de mis funciones
>
> Gracias por su atención.
>
> Function Referencia(NumProducto, Propiedad As PropiedadesProducto) As
> Variant
> If Not Conexion Then
> MsgBox "No hay conexion al servidor, " & vbCrLf & _
> "Favor de conectarse", vbCritical, "Error en Conexion BD"
> Exit Function
> End If
> Select Case Propiedad
> Case 1
> Referencia = RefIntl(NumProducto)
> End Select
> End Function
>
> Erik E. Copado Pérez
> Sistemas
> Antera, S.A. de C.V.
> Tel: (55) 8503 2567
> Fax: (55) 8503 2566 Ext.256
>
>


Respuesta Responder a este mensaje
#3 KL
17/10/2004 - 23:18 | Informe spam
Erik,

A mi me funciona perfectamente si lo copio todo en el mismo modulo o sea q
si q me aparecen los parametros. Prueba "Debug > CompileVBAProject" desde el
VBA Editor - igual tienes algun error, yo q se, alguna linea interrumpida o
por el estilo. Tambien creo q si al dar al boton PasteFunction y elegir
UserDefined ves Book1!Module1!Referencia (o parecido) es casi seguro q tu
funcion no ve la parte del codigo q te pongo abajo:

Enum PropiedadesProducto
ReferenciaIntl = 1
Descripcion = 2
Linea = 3
Grupo = 4
Categoria = 5
FraccionArancelaria = 6
AgrupacionVentas = 7
End Enum

Saludos,
KL

"Erik Copado Perez" wrote in message
news:
Gracias por la antedicen te adiciono el código completo.

Mi duda es por que cuando mando traer la función en una celda, no me
aparecen los parámetros requeridos, que en este caso es NumProducto,
Propiedad que es un tipo Enum.



Option Explicit
Dim Conexion as Boolean ' Su valor de pedende si hizo conexion con el
servidor de base de datos.

Enum PropiedadesProducto
ReferenciaIntl = 1
Descripcion = 2
Linea = 3
Grupo = 4
Categoria = 5
FraccionArancelaria = 6
AgrupacionVentas = 7
End Enum

Private Function PRefIntl(ByVal NumProducto As String) As String
Dim Query As String

Query = "SELECT ReferenciaIntl FROM Productos "
Query = Query & "WHERE NumeroProducto = '" & NumProducto & "' "
If rs.State = adStateOpen Then
rs.Close
End If

rs.CursorLocation = adUseClient
rs.Open Query, cn, adOpenStatic, adLockReadOnly

If rs.BOF And rs.EOF Then
PRefIntl = "Sin Ref. Intl."
Else
PRefIntl = rs!ReferenciaIntl
End If
rs.Close
End Function

Function Referencia(NumProducto, Propiedad As PropiedadesProducto) As
Variant
If Not Conexion Then
MsgBox "No hay conexion al servidor, " & vbCrLf & _
"Favor de conectarse", vbCritical, "Error en Conexion BD"
Exit Function
End If
Select Case Propiedad
Case 1
Referencia = RefIntl(NumProducto)
End Select
End Function

Erik E. Copado Pérez
"KL" escribió en el mensaje
news:
A primera vista en el codigo q acabas de publicar faltan por declarar
PropiedadesProducto, Conexion y RefIntl. Si Conexion es una constante q


has
declarado a nivel de modulo o proyecto y RefIntl es una macro o funcion
personalizada q tambien has omitido, lo mas probable es q tengas problema
con PropiedadesProducto - no puedes asignar un tipo de valor no estandar


sin
mas, lo tienes q declarar primero.

Saludos,
KL

"Erik Copado Perez" wrote in message
news:
> Hola Grupo:
> Tengo una duda con las funciones personalizadas y es esta:
>
> Una Función propia de Excel como SUMA te muestra la información de


los
> parámetros que necesita( =suma(número1,[número2], ...).
>
> Ahorita que estoy creando mis funciones personalizadas, también
> necesito
> parámetros.
>
> Pero cuando mando llamar mi función en una hoja de calculo, no me
> muestra los nombres de mis parámetros.
>
> Les anexo el código de una de mis funciones
>
> Gracias por su atención.
>
> Function Referencia(NumProducto, Propiedad As PropiedadesProducto) As
> Variant
> If Not Conexion Then
> MsgBox "No hay conexion al servidor, " & vbCrLf & _
> "Favor de conectarse", vbCritical, "Error en Conexion BD"
> Exit Function
> End If
> Select Case Propiedad
> Case 1
> Referencia = RefIntl(NumProducto)
> End Select
> End Function
>
> Erik E. Copado Pérez
> Sistemas
> Antera, S.A. de C.V.
> Tel: (55) 8503 2567
> Fax: (55) 8503 2566 Ext.256
>
>






email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida