Validación con fórmulas

03/01/2008 - 14:21 por Daniel Domínguez | Informe spam
Hola a todos. Tengo una hoja Excel en la que quiero que en una de las
columnas sólo se puedan introducir NIFs válidos.

Para ello he hecho una función ESNIF que devuelve TRUE si el NIF es correcto
y FALSE en caso contrario

Mis problemas son 2

- Al poner la validación de una celda con la fórmula ESNIF(A2)=TRUE no me
funciona y me dice que el valor es siempre incorrecto, a pesar de que he
comprobado que la funcion funciona correctamente

- Una vez que me funcione esa validación, ¿como la "arrastro" al resto de
filas?

Muchas gracias y un saludo

Preguntas similare

Leer las respuestas

#1 Duck-pet
03/01/2008 - 21:29 | Informe spam
Hola.-


mmmm supongo que por NIF te refieres al número de identificación
fiscal español vdd?, bueno si lo que quieres es que con la validación
si te marca falso no te deje avanzar hasta que lo capture ¿bien?, lo
único que tienes que hacer para el punto uno es solo hacer lo
siguiente
(en un supuesto estoy utilizando las formulas estexto, esnumero para
simular lo que puede ser tu formula)

Seleccionar validación - personalizada

Escribir en formula

=esnif(A1)

Ojo donde escribas el NIF es donde estará la validación

Para el punto dos, selecciona la celda que contiene la validación, le
das copiar, seleccionas el rango donde quieres aplicar la validación y
le das pegado especial - validación, seria todo

Saludos

Por favor si no es, comenta


On Jan 3, 7:21 am, Daniel Domínguez
wrote:
Hola a todos. Tengo una hoja Excel en la que quiero que en una de las
columnas sólo se puedan introducir NIFs válidos.

Para ello he hecho una función ESNIF que devuelve TRUE si el NIF es correcto
y FALSE en caso contrario

Mis problemas son 2

- Al poner la validación de una celda con la fórmula ESNIF(A2)=TRUE no me
funciona y me dice que el valor es siempre incorrecto, a pesar de que he
comprobado que la funcion funciona correctamente

- Una vez que me funcione esa validación, ¿como la "arrastro" al resto de
filas?

Muchas gracias y un saludo
Respuesta Responder a este mensaje
#2 Daniel Domínguez
03/01/2008 - 23:21 | Informe spam
Gracias Duck por la respuesta, pero no he solucionado el problema. Has
captado lo que quiero hacer perfectamente, y el punto 2 estaría resuelto con
lo que dices, pero me sigue sin funcionar la validación con la fórmula

He probado cosas como
=ESNIF(D2)
ESNIF(D2) = VERDADERO
ESNIF(D2) = 1

Pero ninguna me funciona. Al meter esas condiciones me niega siempre la
introducción de datos en el campo, aunque sea un NIF válido.

"Duck-pet" wrote:

Hola.-


mmmm supongo que por NIF te refieres al número de identificación
fiscal español vdd?, bueno si lo que quieres es que con la validación
si te marca falso no te deje avanzar hasta que lo capture ¿bien?, lo
único que tienes que hacer para el punto uno es solo hacer lo
siguiente
(en un supuesto estoy utilizando las formulas estexto, esnumero para
simular lo que puede ser tu formula)

Seleccionar validación - personalizada

Escribir en formula

=esnif(A1)

Ojo donde escribas el NIF es donde estará la validación

Para el punto dos, selecciona la celda que contiene la validación, le
das copiar, seleccionas el rango donde quieres aplicar la validación y
le das pegado especial - validación, seria todo

Saludos

Por favor si no es, comenta


On Jan 3, 7:21 am, Daniel Domínguez
wrote:
> Hola a todos. Tengo una hoja Excel en la que quiero que en una de las
> columnas sólo se puedan introducir NIFs válidos.
>
> Para ello he hecho una función ESNIF que devuelve TRUE si el NIF es correcto
> y FALSE en caso contrario
>
> Mis problemas son 2
>
> - Al poner la validación de una celda con la fórmula ESNIF(A2)=TRUE no me
> funciona y me dice que el valor es siempre incorrecto, a pesar de que he
> comprobado que la funcion funciona correctamente
>
> - Una vez que me funcione esa validación, ¿como la "arrastro" al resto de
> filas?
>
> Muchas gracias y un saludo


Respuesta Responder a este mensaje
#3 Duck-pet
04/01/2008 - 19:28 | Informe spam
Hola

Cierto, cuando haces tu la formula esta no se puede usar como
argumento para "validar", lo que se me ocurre es algo un poco mas
complicado aunque cumpliría lo de "validar" mediante un msgbox,

Puse el siguiente código en la hoja donde esta los datos (Hoja1) para
que cada vez que se cruza en el rango de A:A (donde se supone voy a
capturar los NIF) en ese momento salte la validación


Private Sub Worksheet_Change(ByVal Target As Range)
Dim sh As Object
Set sh = ActiveSheet

If SOLOENTEROS(Intersect(Target, sh.Range("A:A"))) = True Then Exit
Sub
MsgBox "Error?", vbCritical, "Error en captura"
End Sub


La función que use (SOLOENTEROS) fue una que me invente que marca
false si el valor es menor a 0 y true si es mayor que 0 como tal esta
en un modulo

espero te sirva, ahora personaliza y comentas

Saludos


On Jan 3, 4:21 pm, Daniel Domínguez
wrote:
Gracias Duck por la respuesta, pero no he solucionado el problema. Has
captado lo que quiero hacer perfectamente, y el punto 2 estaría resuelto con
lo que dices, pero me sigue sin funcionar la validación con la fórmula

He probado cosas como
=ESNIF(D2)
ESNIF(D2) = VERDADERO
ESNIF(D2) = 1

Pero ninguna me funciona. Al meter esas condiciones me niega siempre la
introducción de datos en el campo, aunque sea un NIF válido.

"Duck-pet" wrote:
> Hola.-

> mmmm supongo que por NIF te refieres al número de identificación
> fiscal español vdd?, bueno si lo que quieres es que con la validación
> si te marca falso no te deje avanzar hasta que lo capture ¿bien?, lo
> único que tienes que hacer para el punto uno es solo hacer lo
> siguiente
> (en un supuesto estoy utilizando las formulas estexto, esnumero para
> simular lo que puede ser tu formula)

> Seleccionar validación - personalizada

> Escribir en formula

> =esnif(A1)

> Ojo donde escribas el NIF es donde estará la validación

> Para el punto dos, selecciona la celda que contiene la validación, le
> das copiar, seleccionas el rango donde quieres aplicar la validación y
> le das pegado especial - validación, seria todo

> Saludos

> Por favor si no es, comenta

> On Jan 3, 7:21 am, Daniel Domínguez
> wrote:
> > Hola a todos. Tengo una hoja Excel en la que quiero que en una de las
> > columnas sólo se puedan introducir NIFs válidos.

> > Para ello he hecho una función ESNIF que devuelve TRUE si el NIF es correcto
> > y FALSE en caso contrario

> > Mis problemas son 2

> > - Al poner la validación de una celda con la fórmula ESNIF(A2)=TRUE no me
> > funciona y me dice que el valor es siempre incorrecto, a pesar de que he
> > comprobado que la funcion funciona correctamente

> > - Una vez que me funcione esa validación, ¿como la "arrastro" al resto de
> > filas?

> > Muchas gracias y un saludo
Respuesta Responder a este mensaje
#4 Héctor Miguel
05/01/2008 - 05:41 | Informe spam
hola, Daniel !

... quiero que en una de las columnas solo se puedan introducir NIFs validos.
Para ello he hecho una funcion ESNIF que devuelve TRUE si el NIF es correcto y FALSE en caso contrario
Mis problemas son 2
- Al poner la validacion de una celda con la formula ESNIF(A2)=TRUE no me funciona y me dice que el valor es siempre incorrecto
a pesar de que he comprobado que la funcion funciona correctamente
- Una vez que me funcione esa validacion, como la "arrastro" al resto de filas?



(hasta donde se) en las reglas de validacion no puedes usar funciones personalizadas NI de complementos "adicionales"
para estos casos, necesitaras usar una celda/columna "auxiliar" donde valides por tu funcion personalizada (o externa)

p.e. para validar si lo escrito en A2 es valido como NIF
a) usa tu funcion en la celda B2: =ESNIF(A2)
b) selecciona la celda A2 y usa en las reglas de validacion (personalizada) la formula ²
c) prueba la regla introduciendo en A2 un dato que sea (o no) valido como NIF

para "arrastrar" la validacion puedes seleccionar un rango mas extenso y aplicar la regla/formula sobre la celda "activa"
o sea, necesitaras "arrastrar" tambien la celda auxiliar que es la que realmente hace la "validacion"

o... si el algoritmo que usa tu funcion personalizada (ESNIF) lo puedes "traducir" a funciones integradas de hoja de calculo
(problemente) podrias no ocupar de tu funcion personalizada -?-

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#5 Daniel Domínguez
08/01/2008 - 11:15 | Informe spam
Muchas gracias Héctor.

Con esto he solucionado el problema.

Gracias tambien a Duck. Tu solución también me valía pero, aunque me daba un
mensaje de error, me permitía introducir datos incorrectos y eso no me valía.

De todas formas gracias a ambos

"Héctor Miguel" wrote:

hola, Daniel !

> ... quiero que en una de las columnas solo se puedan introducir NIFs validos.
> Para ello he hecho una funcion ESNIF que devuelve TRUE si el NIF es correcto y FALSE en caso contrario
> Mis problemas son 2
> - Al poner la validacion de una celda con la formula ESNIF(A2)=TRUE no me funciona y me dice que el valor es siempre incorrecto
> a pesar de que he comprobado que la funcion funciona correctamente
> - Una vez que me funcione esa validacion, como la "arrastro" al resto de filas?

(hasta donde se) en las reglas de validacion no puedes usar funciones personalizadas NI de complementos "adicionales"
para estos casos, necesitaras usar una celda/columna "auxiliar" donde valides por tu funcion personalizada (o externa)

p.e. para validar si lo escrito en A2 es valido como NIF
a) usa tu funcion en la celda B2: =ESNIF(A2)
b) selecciona la celda A2 y usa en las reglas de validacion (personalizada) la formula ²
c) prueba la regla introduciendo en A2 un dato que sea (o no) valido como NIF

para "arrastrar" la validacion puedes seleccionar un rango mas extenso y aplicar la regla/formula sobre la celda "activa"
o sea, necesitaras "arrastrar" tambien la celda auxiliar que es la que realmente hace la "validacion"

o... si el algoritmo que usa tu funcion personalizada (ESNIF) lo puedes "traducir" a funciones integradas de hoja de calculo
(problemente) podrias no ocupar de tu funcion personalizada -?-

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.



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