Visual Basic para Aplicaciones - Celda Activa luego de Change...

Life is soft - evento anual de software empresarial
 
Vista:

Celda Activa luego de Change...

Publicado por Lorena (17 intervenciones) el 10/01/2002 14:55:38
Hola Gente! Uds. que saben tanto me podrán ayudar una vez más??
Ya efectué una consulta sobre esto pero no estuvo bien orientada...
Estoy utilizando un evento Change porque necesito que se ejecute cierto código al hacer un cambio en una celda...peeero necesito validar previamente los datos que me están ingresando y como también lo quiero hacer dentro de este evento se me está complicando...se me ocurrió analizar el contenido de la celda activa, el tema está en que cuando realizo el cambio y me muevo a otra celda me toma como activa la nueva y no me sirve...no sé por dónde buscar, alguien tiene idea?
Gracias,
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

RE:Celda Activa luego de Change...

Publicado por Mauricio Baeza (262 intervenciones) el 10/01/2002 22:20:59
Hola Lorena, si lo que quieres es validar que el usuario capture la informacion correcta, checa este codigo...

Private Sub Worksheet_Change(ByVal Target As Range)
If UCase(Trim(Target.Value)) <> "LORENA" Then
MsgBox "Mi nombre no es " & Target.Value
Target.Activate
Else
MsgBox "Nombre correcto"
End If
End Sub

Aqui, hasta que introduzcas lorena, LORENA, Lorena, LoReNa o cualquier combinacion con mayusculas o minusculas, te dira que esta bien, de lo contrario te regresara a la celda previa, tienes razon la celda activa y el argumento Target pueden ser diferentes, si lo que quieres es validar sobre una celda especifica, primero tienes que verificar que sea la celda correcta...

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address(False, False) = "A1" Then
If UCase(Trim(Target.Value)) <> "LORENA" Then
MsgBox "Mi nombre no es " & Target.Value
Target.Activate
Else
MsgBox "Nombre correcto"
End If
End If

End Sub

En este otro codigo, te evalua lo mismo, solo que ahora, SOLO en la celda A1

Ahora, si no quieres que el usuario ni siquiera se cambie celda, hasta que no introduzca el valor correcta, entonces, ahora si, usa el evento SelectionChange, por ejemplo para complementar el codigo anterior, ahora agrega este codigo a este evento...

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Target.Address(False, False) <> "A1" Then
If UCase(Trim(Range("A1").Value)) <%
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:Celda Activa luego de Change... 2

Publicado por Mauricio Baeza (262 intervenciones) el 10/01/2002 22:23:33
Ahora, si no quieres que el usuario ni siquiera se cambie celda, hasta que no introduzca el valor correcta, entonces, ahora si, usa el evento SelectionChange, por ejemplo para complementar el codigo anterior, ahora agrega este codigo a este evento...

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Target.Address(False, False) <> "A1" Then
If UCase(Trim(Range("A1").Value)) <> "LORENA" Then
MsgBox "Debes de introducir un valor en A1"
Range("A1").Activate
End If
End If

End Sub

Ahora, solo cuando el usuario introduzca Lorena en cualquier a de sus modalidades, ya no le dara mas mensajes, y lo derara mover libremente, este codigo tiene algunos inconvenientes, como el que entre mas celdas a evaluar sera mas complicado, pues las evaluaciones se hacen cuando el usuario cambia el valor de una celda o simplemente cambia la seleccion, o sea, se hacen muchas evaluaciones, pero siempre hay alternativas, solo que tendria que saber que es exactamente lo que quieres, tienes una pregunta del 17 de diciembre del 2001, en donde expones un codigo que si bien no da ningun error, tal vez no hace lo que quieres, lo revise y no me da error, solo que a falta de datos y de mas detalles, no se a ciencia cierta que es lo que quieres que haga, en general, no es muy bueno abusar de estos eventos por que es comun hacer cambios de la celdas o de seleccion y si se tiene mucho codigo puede alentar las operaciones, ademas de que siempre hay riesgo de quedar en ciclos infinitos al mover o cambiar con codigo las celdas desde estos eventos, para terminar y no aburrirte mas, si qu
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:Celda Activa luego de Change...3

Publicado por Mauricio Baeza (262 intervenciones) el 10/01/2002 22:26:10
Tercera y ultima (que poco texto le cabe a estos cuadros)

para terminar y no aburrirte mas, si quieres que te ayude bien, sin tratar de adivinar, enviame tu archivo con notas detalladas de que es lo que quieres y te ayudo a resolverlo, saludos...
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