Bloqueo automático de celdas
Tavo tengo el siguiente código
Sub bloqueo()
If Range("a1").Value <> Empty Then
Range("A1").Select
ActiveSheet.Unprotect "hola"
Selection.Locked = True
Selection.FormulaHidden = False
ActiveSheet.Protect "hola", DrawingObjects:=True, Contents:=True, Scenarios:=True
End If
End Sub
Tengo un formulario y quiero que cada vez que digite un dato esta se vaya bloqueando, pero las celdas no son en orden es decir por ej: a1, b2, c4, y así sucesivamente, y son muchas las celdas que debo bloquear imaginate unas 500 celdas y para cada una tener que copiar todo el bloque anterior lo hice así pero es muy engorroso ocupa mucho espacio, y me toco en varios módulos, y ademas entre tantas celdas me equivoque y me producía un error, Quiero, si se puede hacer algo más sencillo y fácil de controlar. El siguiente código es el que me activa el tiempo para que la macro actúe. Ademas si se puede que cuando la macro actúe la celda activa no se devuelva a la celda que bloquea si no que me quede en donde voy introduciendo los datos... O bien también seria que las celdas llenadas se bloqueen cuando el libro se cierre, podríamos ver las dos opciones.
codigo que me activa la macro bloqueo
Private Sub worksheet_change(ByVal target As Range)
calcular = Now + TimeValue("00:00:05")
Application.OnTime calcular, "bloqueo"
End Sub
Tavo te agradezco la colaboración que me puedas brindar ya que desde hace tiempo necesito instalar este código en las historias clínicas
Sub bloqueo()
If Range("a1").Value <> Empty Then
Range("A1").Select
ActiveSheet.Unprotect "hola"
Selection.Locked = True
Selection.FormulaHidden = False
ActiveSheet.Protect "hola", DrawingObjects:=True, Contents:=True, Scenarios:=True
End If
End Sub
Tengo un formulario y quiero que cada vez que digite un dato esta se vaya bloqueando, pero las celdas no son en orden es decir por ej: a1, b2, c4, y así sucesivamente, y son muchas las celdas que debo bloquear imaginate unas 500 celdas y para cada una tener que copiar todo el bloque anterior lo hice así pero es muy engorroso ocupa mucho espacio, y me toco en varios módulos, y ademas entre tantas celdas me equivoque y me producía un error, Quiero, si se puede hacer algo más sencillo y fácil de controlar. El siguiente código es el que me activa el tiempo para que la macro actúe. Ademas si se puede que cuando la macro actúe la celda activa no se devuelva a la celda que bloquea si no que me quede en donde voy introduciendo los datos... O bien también seria que las celdas llenadas se bloqueen cuando el libro se cierre, podríamos ver las dos opciones.
codigo que me activa la macro bloqueo
Private Sub worksheet_change(ByVal target As Range)
calcular = Now + TimeValue("00:00:05")
Application.OnTime calcular, "bloqueo"
End Sub
Tavo te agradezco la colaboración que me puedas brindar ya que desde hace tiempo necesito instalar este código en las historias clínicas
1 respuesta
Respuesta de tavopz
1