Código para personalizar una función

14/02/2006 - 16:13 por ElProfe | Informe spam
Bueno amigos, como lo mio no es el código VBA, llegó el momento de
pedirles su ayuda! por favor, espero contar con ella.

Requiero personalizar una función que me permita calcular el dígito
de chequeo (o verificación) de un entero, positivo, de 15 cifras, cuyo
algoritmo es el siguiente (considerando las posiciones del entero de
izquierda a derecha):
+ ( Posición 01 * 71)
+ ( Posición 02 * 67)
+ ( Posición 03 * 59)
+ ( Posición 04 * 53)
+ ( Posición 05 * 47)
+ ( Posición 06 * 43)
+ ( Posición 07 * 41)
+ ( Posición 08 * 37)
+ ( Posición 09 * 29)
+ ( Posición 10 * 23)
+ ( Posición 11 * 19)
+ ( Posición 12 * 17)
+ ( Posición 13 * 13)
+ ( Posición 14 * 07)
+ ( Posición 15 * 03)
=SumatoriaDeProductos / 11
=CalculoDeResiduo (SumatoriaDeProductos / 11)
Si (CalculoDeResiduo = 0 entonces 0)
Si (CalculoDeResiduo = 1 entonces 1)
Si (y(CalculoDeResiduo <> 0,CalculoDeResiduo <> 1) entonces (11 -
CalculoDeResiduo))

Por su amable atención y ayuda, reciban mis agradecimientos
anticipados.

Saludos,

ElProfe
 

Leer las respuestas

#1 Cristian
14/02/2006 - 20:40 | Informe spam
Hola:

Crea una funcion q tenga el siguiente codigo:

function dv(Numero) as integer
mVal=array(71,67,...,3) 'matriz de 15 elementos

for c=1 to 15
digito=mid(numero,c,1)
SumatoriaDeProductos =SumatoriaDeProductos +digito*mVal(c+1)
next
CalculoDeResiduo =SumatoriaDeProductos mod 11

select case CalculoDeResiduo
case=0
dv=0
case=1
dv=1
case else
dv-CalculoDeResiduo
end select
end function

ojo: la matriz mval tiene como base 0 por eso es c+1




"ElProfe" escribió en el mensaje
news:
Bueno amigos, como lo mio no es el código VBA, llegó el momento de
pedirles su ayuda! por favor, espero contar con ella.

Requiero personalizar una función que me permita calcular el dígito
de chequeo (o verificación) de un entero, positivo, de 15 cifras, cuyo
algoritmo es el siguiente (considerando las posiciones del entero de
izquierda a derecha):
+ ( Posición 01 * 71)
+ ( Posición 02 * 67)
+ ( Posición 03 * 59)
+ ( Posición 04 * 53)
+ ( Posición 05 * 47)
+ ( Posición 06 * 43)
+ ( Posición 07 * 41)
+ ( Posición 08 * 37)
+ ( Posición 09 * 29)
+ ( Posición 10 * 23)
+ ( Posición 11 * 19)
+ ( Posición 12 * 17)
+ ( Posición 13 * 13)
+ ( Posición 14 * 07)
+ ( Posición 15 * 03)
=SumatoriaDeProductos / 11
=CalculoDeResiduo (SumatoriaDeProductos / 11)
Si (CalculoDeResiduo = 0 entonces 0)
Si (CalculoDeResiduo = 1 entonces 1)
Si (y(CalculoDeResiduo <> 0,CalculoDeResiduo <> 1) entonces (11 -
CalculoDeResiduo))

Por su amable atención y ayuda, reciban mis agradecimientos
anticipados.

Saludos,

ElProfe

Preguntas similares