Como Boquear una celda o un rango

Buenas estoy haciendo una planilla de datos y tengo casi todas las celdas bloquead porque tiene fórmulas introducudas salvo unas qie dejo vacía que son para colocar fecha y nro de dni y una situación por y otras que son para colocar parámetros (valores max y minomos) q8ue se usan en la fórmulas para comparar
la pregunta es como puedo bloquear las celdas dni, ¿fecha y situación si es que no ingrso los parámetros o sea si la celda para ingresar los para metros esta vacía?
¿Esto lo haría en una celda y después se copiaría al resto?

1 Respuesta

Respuesta
1
Adaptando los rangos de este código hace lo que pides
Private Sub Worksheet_Change(ByVal Target As Range)
' casilla que deves seleccionar para ejecutar la macro
datos = "F13"
If Not Application.Intersect(Target, Range(datos)) Is Nothing Then
'casillas que libera para escribir en ellas
 Range("C10:D10").Select
     ActiveSheet.Unprotect
    Selection.Locked = False
    Selection.FormulaHidden = False
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
    Range("F13").Select
 If [f13] = "" Then
ActiveSheet.Unprotect
    'Cuando casilla f13 no tiene nada te bloquea las demas casillas
    Range("C10:D10").Select
    Selection.Locked = True
    Selection.FormulaHidden = False
    Range("F13").Select
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End If
End If
End Sub
[email protected]
Creo que es lo que pides si no es eso o no te aclaras pásame un archivo y te la adapto
Hola no tengo idea de usar macro, quería ver si había alguna forma sin usar macro, que me bloque todas las celdas menos las que dejo libre para que ingrese parámetros, el archivo es medio pesado para pasar por e-mail, dado que soy bien es de excel tiene colores, porque hice que de acuerdo a <> avisios de mensaje según <> parametrpos de comparación ponga <> colores en los mensaje
Si tienes alguna forma que no sea usando macro, o si no alguna tutorial de como usar macro en forma simple( te aclaro que quise intentar usar macro y vi que lo relaciona con VB6, en este ultimo si se programar)
Igualmente garcías por tu respuesta
No es complicado
Pulsas alt+f11 y entraras en visual basic a la izquierda te aparece vbaproject
y debajo todas las hojas que tenga el libro pinchas 2 veces en la hoja que quieres proteger y pegas el código que te pase solo has de variar las casillas que yo puse por las que tu quieras dejar desbloqueadas cuando introduzcas un valor en la ceda f13 (que puede ser la que tu quieras) desbloqueas las celdas que tu asignes y cuando borres el valor de f13 te bloquea las celdas
en cuanto a si se puede hacer sin macros no conozco la manera.
Si te aclaras a pegar el código y no te aclaras con las casillas o rangos que quieres proteger di los que son y te la adapto
Hola gracias por tu respuesta pero resulta que las celdas que deben quedar desbloquadas son vs, dado que en esta celdas se ingresan parámetros que si no son ingrasadpos el sistema no podría hacer los cálculos correspondintes
las celdas son el rectángulo compresndido entre u11 y aa14
aquí el usuario debe ingresar mensaje de error y parámetros para controlar cantidades
¿Luego otro incoviniente es que esat planilla se repite 12 veces es una por mes y tengo un mes en cada hoja y los parámetros y mensaje son por mes
como haría paar que se ejecute en cada hoja?
Gracias por tu respuesta
Lo de los rangos en el código ya te digo los que tienes que modificar
En el que te paso ahora te puse los rangos que me dices solo falta cambiar la que quieres que se introduzca el dato para desprotegerla
en cuanto a los 12 meses con el código que te paso ahora se ejecuta en todas las hojas para ello lo has de introducir en thisworkbook
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
' casilla que deves seleccionar para ejecutar la macro
datos = "F13"
If Not Application.Intersect(Target, Range(datos)) Is Nothing Then
'casillas que libera para escribir en ellas
 MsgBox "hola"
 Range("U11:AA14").Select
     ActiveSheet.Unprotect
    Selection.Locked = False
    Selection.FormulaHidden = False
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
    Range("F13").Select
 If [f13] = "" Then
ActiveSheet.Unprotect
    'Cuando casilla f13 no tiene nada te bloquea las demas casillas
    Range("U11:AA14").Select
    Selection.Locked = True
    Selection.FormulaHidden = False
    Range("F13").Select
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End If
End If
End Sub
Ya me cuentas si te vale
Muchas gracias por tu buena voluntad, pero no me sale, pero no importa ya la deje así nomas a la planilla. Probé este ejemplo en una hoja en blanco, porngo en la celda f13 ejecuto el macro pero luego no me deja imgrasar nada en ningún lado o sea me bloquea la f13 también, pero ya me voy a poner a estudiar el como de la fórmula, jajajaja pero igual muchas gracias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas