Bloquear una celda luego de introducir automáticamente un dato en excel

Actualmente utilizo el siguiente código,

Private SubWorksheet_Change(byVal Target As Range)

Tiempo=format (Now, "hh:mm")

Set isect= Application.Intersect (Target.Range ("A1:A20"))

IF not isect is Nothing then

If isect.value <>""Then

Isect.offset (0,1).Value= Tiempo

End if

End if

End sub

De manera que cuando escribo en la celda a2, registra hora en la b2. Necesito que una vez se registre la hora en b2 se bloquee la celda, de manera que si nuevamente edito la a2 no me actualice nuevamente la hora, si no que quede bloqueada la primera vez que se edito en la celda.

1 Respuesta

Respuesta
1

Podrías bloquear la celda (*) o simplemente impedir que se vuelva a escribir la hora si la celda ya tiene datos.

Creo que lo tuyo responde a la segunda cuestión y para eso modifica la instrucción donde colocas la hora por esta otra:

If Isect.offset(0,1) = "" then Isect.offset (0,1).Value= Tiempo

Sdos.

Elsa

Saludos.

Muchas gracias.. funcionó perfectamente. Evaluando todos los escenarios... me faltaría añadir una instrucción donde me permita eliminar la hora en caso de que seleccione una opción en especifico en un "data validation" escrito en una celda. ¿Eso se podrá realizar?

Seguramente se puede... ¿pero me podés dejar el nuevo tema en otra consulta? Esta trata de 'Bloquear una celda' y ahora nos estaríamos saliendo de tema.

¿Se trata del cambio en la misma col? ¿En todo el rango o solo ciertas celdas? En la nueva consulta dejame escrito cuál será el criterio.

Sdos y no olvides valorar la respuesta a este tema para luego continuar con el otro.

Elsa

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas