Bloquear celdas (ligadas) pero solo Después de que se introdujo un dato URGE!

Necesito que al introducir un dato en la columna B esta quede bloqueada el problema que tengo es que esta lugada a las columnas K y L respectivamente de igual forma con la columna I que tiene relación co la columna N

Tengo un código ya en ese archivo para que al introducir dato en columna B se marque fecha y hora en Ky L

De igualforma con la columna I y la N como hacer para que se ingrese un dato en la B e I y no se puedan modificar pero que tampoco afecte mis columnas K-l y N respectivamente.

Muchas gracias y perdón por tanto rodeo a la pregunta soy nuevo en esto estoy cubriendo una incapacidad de un compañero y me están pidiendo esto de forma URGENTE

1 Respuesta

Respuesta
1

Puedes poner el código que tienes para modificarlo.

También explícame lo que necesitas: quieres que al introducir un dato en la columna B ocurra:

a) Que se bloqueé la celda de la columna B

b) Que se bloqueé la celda de la columna B y también la celda de la K y L

c) ¿Qué se bloqueé la celda de la columna B y si ya hay datos en la celda K y L que no se modifiquen?

Si pudieras explicar todo con ejemplos.

Te adelanto, para que una celda pueda bloquearse, es necesario proteger la hoja, previamente a proteger la hoja todas las celdas tienen que tener el indicador de apagado en el formato de celdas, bloqueada.

Hola Daniel Gracias por tu respuesta mira te paso el Código que llevo hasta ahora
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("B:B")) Is Nothing Then
Range("K" & Target.Row) = Date
Range("L" & Target.Row) = Format(Now, "hh:mm")
End If
If Not Application.Intersect(Target, Range("I:I")) Is Nothing Then
Range("M" & Target.Row) = Format(Now, "hh:mm")
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Column > 2 & 9 & 12 & 13 Then Exit Sub 'Aplica solo en Columnas A & B
    With ActiveSheet
        .Unprotect
        If Target.Value > "" Then Target.Locked = True
        .Protect
    End With
End Sub

Ahora todas las celdas se me bloquean apenas introduzco un dato lo cual no es lo que buscaba pero aís me sirve. Ahora me interesaría saber como es que puedo bloquearlo para que la información se guarde y que Otras personas a quienes les voy a enviar el archivo puedan capturar los datos PERO que no puedan modificarlos osea que solo puedan tener un ingreso de datos por celda. Espero haberme explicado correctamente. Más tarde subiré una imagen con la tabla GRACIAS por continuar ayudando !

Pero no me dices qué opción necesitas.

Primero, quita esta macro:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Column > 2 & 9 & 12 & 13 Then Exit Sub 'Aplica solo en Columnas A & B
    With ActiveSheet
        .Unprotect
        If Target.Value > "" Then Target.Locked = True
        .Protect
    End With
End Sub

Lo que le estás indicando en esta parte:

If Target.Column > 2 & 9 & 12 & 13 Then Exit Sub

Es si el número de columna es mayor que "291213" y ningún número es mayor a una cadena de texto.


Prueba con esta macro

Private Sub Worksheet_Change(ByVal Target As Range)
'Por.Dante Amor
    pwd = "abc"
    If Target.Count > 1 Then Exit Sub
    If Not Application.Intersect(Target, Range("B:B")) Is Nothing Then
        ActiveSheet.Unprotect pwd
        Range("K" & Target.Row) = Date
        Range("L" & Target.Row) = Format(Now, "hh:mm")
        If Target.Value <> "" Then
            Target.Locked = True
            Cells(Target.Row, "K").Locked = True
            Cells(Target.Row, "L").Locked = True
        End If
        ActiveSheet.Protect pwd
    End If
    If Not Application.Intersect(Target, Range("I:I")) Is Nothing Then
        ActiveSheet.Unprotect pwd
        Range("M" & Target.Row) = Format(Now, "hh:mm")
        Target.Locked = True
        Cells(Target.Row, "M").Locked = True
        ActiveSheet.Protect pwd
    End If
End Sub

Si no es lo que necesitas, entonces explícame paso a paso lo que quieres que haga la macro para hacerla nueva.

Saludos. Dante Amor

Si es lo que necesitas.

Hola Dante

mira el caso es que cuando se ingrese un dato en la Columna B esta genere la fecha en la columna K (fecha de llamada ) y en L (Hora de llamada) pero que en ese momento quede bloqueada la intención en que no quiero que las fechas puedan ser modificadas por la gente a quien voy a entregar el reporte

Pasa lo mismo con la columna I (status de asistencia) que da la hora en la columna M.  tal vez estoy dando muchas vueltas pero al final lo que necesito es que se registren las fechas sin que puedan manipularlas.  Gracias por tu ayuda Dante

¿Y qué le faltó a mi macro?

Introduzco la Macro y me envía es mensaje además de que no hace nada no bloquea cedas ni me da el resultado en las celdas k y L al ingresar datos en las celdas, estoy casi seguro de que el error es mío así que pido me ayudes para ver que estoy haciendo  mal por favor. tengo la hoja desprotegida. saludos Dante y gracias por continuar ayudándome.

¿Y cuál es el mensaje que te envía?

Lo que hace la macro es protegerla con el password "abc", si tienes otro password, entonces cambia en la macro "abc" por tu password.

Hola Dante me envía ese error el día de ayer me funciono perfecta pero no se que hice mal y ahora me tira ese error, la hoja debe de estar protegida pero lo que estoy haciendo es seleccionar todas las celdas y en "formato de celdas" le indico que estén desbloqueadas eso puede ser el Problema? o como debo de proteger la hoja?  Gracias, espero puedas ayúdame

Lo que hiciste fue cambiarle el password a tu hoja. Yo no lo conozco.

Dime qué password le pusiste y corrijo la macro

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas