validar celda mediante macro

14/07/2003 - 09:30 por Francisco Sáez R. | Informe spam
Buenas noches estimados foristas, mi consulta es la siguiente tengo una hoja
llamada "DATOS" y dos celdas especificas que necesito automatizar de la
siguiente manera:
P.e. si en "E2" anoto un valor numerico cualquiera, necesito que
inmediatamente me valida la celda "I7" con el valor 0 "cero" y viseversa,
osea si en "I7" anoto un valor, que me valide "E2" con valor 0 "cero",
espero que se pueda hacer, de ante mano muchas gracias y seguimos en
contacto.
Un saludo,
_____________________________________
Francisco Sáez R.
Stgo-Chile

PD.: Trabajo con Office XP

Preguntas similare

Leer las respuestas

#1 Adolfo Fernández
14/07/2003 - 10:30 | Informe spam
Hola Francisco,
Te pongo un ejemplo de como al modificar la celda E2 se borra el contenido
de la celda I7.
Esto te puede servir de punto de partida para lo que tu quieres hacer. Te
queda comprobar si la celda que se modifica es E2 o I7 y ademas que el valor
introducido en ambas celdas sea numérico ( esto último no hace falta que lo
compruebes con vba, al opción de validar datos te puede servir)

Private Sub Worksheet_Change(ByVal Target As Range)
Dim vrange As Range
Set vrange = Range("E2")
If Union(Target, vrange).Address = vrange.Address Then
Range("I7").ClearContents
End If

End Sub
Si te hace falta más ayuda no dudes en preguntar

Un saludo,
Adolfo

"Francisco Sáez R." escribió en el mensaje
news:#
Buenas noches estimados foristas, mi consulta es la siguiente tengo una


hoja
llamada "DATOS" y dos celdas especificas que necesito automatizar de la
siguiente manera:
P.e. si en "E2" anoto un valor numerico cualquiera, necesito que
inmediatamente me valida la celda "I7" con el valor 0 "cero" y viseversa,
osea si en "I7" anoto un valor, que me valide "E2" con valor 0 "cero",
espero que se pueda hacer, de ante mano muchas gracias y seguimos en
contacto.
Un saludo,
_____________________________________
Francisco Sáez R.
Stgo-Chile

PD.: Trabajo con Office XP


Respuesta Responder a este mensaje
#2 Francisco Sáez R.
14/07/2003 - 10:47 | Informe spam
Hola Adolfo,
Primero que nada muchas gracias por el codigo enviado, me haz solucionado
una parte del problema, ahora la siuacion inversa tb se puede hacer ? ya sea
el que me enviaste me borra efectivamente el valor de "I7" pero necesito
agragarle tb si yo escribo algo en "I7" que me borre el contenido de "E2".
Por que hasta ahora esta funcionando asi, yo anoto un valor en E2 y me deja
en blanco I7, osea queda libre ahora si yo quisiera escribir en I7 un valor
tb como se puede hacer pa que se borrara el contenido de E2 ?, espero
haberme explicado bien, muchas gracias.
Un saludo,
_____________________________________
Francisco Sáez R.
Stgo-Chile

"Adolfo Fernández" escribió en el mensaje
news:
Hola Francisco,
Te pongo un ejemplo de como al modificar la celda E2 se borra el contenido
de la celda I7.
Esto te puede servir de punto de partida para lo que tu quieres hacer. Te
queda comprobar si la celda que se modifica es E2 o I7 y ademas que el


valor
introducido en ambas celdas sea numérico ( esto último no hace falta que


lo
compruebes con vba, al opción de validar datos te puede servir)

Private Sub Worksheet_Change(ByVal Target As Range)
Dim vrange As Range
Set vrange = Range("E2")
If Union(Target, vrange).Address = vrange.Address Then
Range("I7").ClearContents
End If

End Sub
Si te hace falta más ayuda no dudes en preguntar

Un saludo,
Adolfo

"Francisco Sáez R." escribió en el mensaje
news:#
> Buenas noches estimados foristas, mi consulta es la siguiente tengo una
hoja
> llamada "DATOS" y dos celdas especificas que necesito automatizar de la
> siguiente manera:
> P.e. si en "E2" anoto un valor numerico cualquiera, necesito que
> inmediatamente me valida la celda "I7" con el valor 0 "cero" y


viseversa,
> osea si en "I7" anoto un valor, que me valide "E2" con valor 0 "cero",
> espero que se pueda hacer, de ante mano muchas gracias y seguimos en
> contacto.
> Un saludo,
> _____________________________________
> Francisco Sáez R.
> Stgo-Chile
>
> PD.: Trabajo con Office XP
>
>


Respuesta Responder a este mensaje
#3 Adolfo Fernández
14/07/2003 - 11:05 | Informe spam
Hola Francisco,
Con el siguiente código consigues todo lo que necesitas, solo tiene un
problema y es que admite cualquier valor, ya sea numerico o no. En este
punto no te puedo ayudar, porque no se como comprobar si un valor es
numérico o no, pero seguro que cualquiera de la lista lo sabe.

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False

If Union(Target, Range("E2")).Address = Range("E2").Address Then
Range("I7").ClearContents
Else
If Union(Target, Range("i7")).Address = Range("i7").Address Then
Range("e2").ClearContents
End If

End If
Application.EnableEvents = True

End Sub

Espero que esto te resuelva todos los problemas

Un saludo,
Adolfo
"Francisco Sáez R." escribió en el mensaje
news:#
Hola Adolfo,
Primero que nada muchas gracias por el codigo enviado, me haz solucionado
una parte del problema, ahora la siuacion inversa tb se puede hacer ? ya


sea
el que me enviaste me borra efectivamente el valor de "I7" pero necesito
agragarle tb si yo escribo algo en "I7" que me borre el contenido de "E2".
Por que hasta ahora esta funcionando asi, yo anoto un valor en E2 y me


deja
en blanco I7, osea queda libre ahora si yo quisiera escribir en I7 un


valor
tb como se puede hacer pa que se borrara el contenido de E2 ?, espero
haberme explicado bien, muchas gracias.
Un saludo,
_____________________________________
Francisco Sáez R.
Stgo-Chile

"Adolfo Fernández" escribió en el mensaje
news:
> Hola Francisco,
> Te pongo un ejemplo de como al modificar la celda E2 se borra el


contenido
> de la celda I7.
> Esto te puede servir de punto de partida para lo que tu quieres hacer.


Te
> queda comprobar si la celda que se modifica es E2 o I7 y ademas que el
valor
> introducido en ambas celdas sea numérico ( esto último no hace falta que
lo
> compruebes con vba, al opción de validar datos te puede servir)
>
> Private Sub Worksheet_Change(ByVal Target As Range)
> Dim vrange As Range
> Set vrange = Range("E2")
> If Union(Target, vrange).Address = vrange.Address Then
> Range("I7").ClearContents
> End If
>
> End Sub
> Si te hace falta más ayuda no dudes en preguntar
>
> Un saludo,
> Adolfo
>
> "Francisco Sáez R." escribió en el mensaje
> news:#
> > Buenas noches estimados foristas, mi consulta es la siguiente tengo


una
> hoja
> > llamada "DATOS" y dos celdas especificas que necesito automatizar de


la
> > siguiente manera:
> > P.e. si en "E2" anoto un valor numerico cualquiera, necesito que
> > inmediatamente me valida la celda "I7" con el valor 0 "cero" y
viseversa,
> > osea si en "I7" anoto un valor, que me valide "E2" con valor 0 "cero",
> > espero que se pueda hacer, de ante mano muchas gracias y seguimos en
> > contacto.
> > Un saludo,
> > _____________________________________
> > Francisco Sáez R.
> > Stgo-Chile
> >
> > PD.: Trabajo con Office XP
> >
> >
>
>


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