Workbook_SheetChange

27/08/2004 - 21:14 por javi | Informe spam
con Workbook_SheetChange capturo las modificaciones sobre
una celda.

mi pregunta es... cómo puedo hacer para cancelar una
entrada determinada dejando el valor anterior.

por ej, si copian en A3 el valor "hola" cuando
decía "chau" cancelar el "hola" y dejar "chau"


gracias
 

Leer las respuestas

#1 Héctor Miguel
28/08/2004 - 05:03 | Informe spam
hola, javi !

con Workbook_SheetChange capturo las modificaciones sobre una celda.
... como puedo hacer para cancelar una entrada determinada dejando el valor anterior.
por ej, si copian en A3 el valor "hola" cuando decia "chau" cancelar el "hola" y dejar "chau"



una observacion... el estar 'manejando' el evento '_sheetchange' ->del libro<-...
el codigo 'se aplica' ->a cualquier hoja<- que 'sufra' las modificaciones :-( <= OJO
a menos que 'condiciones' ->el nombre de la hoja<- o 'te cambies' a los eventos ->de 'esa' hoja<-

te expongo unos ejemplos a continuacion [suponiendo ->una sola celda<- por 'cambio'].
saludos,
hector.

puedes 'condicionar' con la propiedad 'Address' del objeto 'Target' [la celda que se modifica] p.e.
si quieres [solamente] evitar que se modifique una celda...
[ ... otras lineas de codigo en el evento ...]
With Application
If Target.Address = "$A$3" Then
.EnableEvents = False: .Undo: .EnableEvents = True
End If
End With

[ ... otras lineas de codigo en el evento ...]

si quieres 'monitorear' varias celdas en el evento [p.e.]
[ ... otras lineas de codigo en el evento ...]
With Application
Select Case Target.Address
Case "$A$3", "$B$5", "$C$10" ' etc. etc. etc. '
.EnableEvents = False: .Undo: .EnableEvents = True
End Select
End With
[ ... otras lineas de codigo en el evento ...]

Preguntas similares