¿Cómo proteger las celdas según la fecha en Excel?
Normalmente, podemos proteger la hoja de trabajo para evitar que otros editen o modifiquen los valores de las celdas, pero, a veces, es necesario proteger las celdas según la fecha. Por ejemplo, quiero proteger otras celdas pero solo permitir que los valores de celda de la fecha de hoy se modifiquen como se muestra en la siguiente captura de pantalla, este artículo hablará sobre cómo proteger las celdas según la fecha.
Proteja todas las filas excepto la fila de la fecha de hoy con código VBA
Proteja todas las filas que la fecha haya pasado con el código VBA
Proteja todas las filas excepto la fila de la fecha de hoy con código VBA
Solo permita que se modifique la fila que es igual a la fecha de hoy, el siguiente código puede ayudarlo, haga lo siguiente:
1. Haga clic con el botón derecho en la pestaña de la hoja en la que desea proteger las celdas según la fecha y luego elija Ver código en el menú contextual, en el emergente Microsoft Visual Basic para aplicaciones ventana, copie y pegue el siguiente código en el módulo en blanco:
Código de VBA: proteja todas las filas excepto la fila de la fecha de hoy:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Updateby Extendoffice 20161025
If Range("E" & Selection.Row).Value <> Date Then
ActiveSheet.Protect Password:="111111"
MsgBox "Only today's date row can be edited!", vbInformation, "Kutools for Excel"
ElseIf Range("E" & Selection.Row).Value = Date Then
ActiveSheet.Unprotect Password:="111111"
ActiveSheet.EnableSelection = xlNoRestrictions
End If
End Sub
Note: En el código anterior, la letra E es el encabezado de la columna donde se encuentra la fecha, "111111”Es la contraseña para proteger esta hoja. Puede cambiarlos según sus necesidades.
2. Luego guarde y cierre esta ventana de código.
(1.) Si hace clic en otras celdas más allá de la fila de la fecha de hoy, aparecerá un cuadro emergente para recordarle que la celda no se puede editar, vea la captura de pantalla:
(2.) Si hace clic y edita la fila es igual a la fecha de hoy, se modificará correctamente, vea la captura de pantalla:
Proteja todas las filas que la fecha haya pasado con el código VBA
Si necesita proteger todas las filas a partir de la fecha, solo permita que se modifiquen las filas de fechas actuales y futuras, aplique el siguiente código VBA:
1. Haga clic con el botón derecho en la pestaña de la hoja en la que desea proteger las celdas según la fecha y luego elija Ver código en el menú contextual, en el emergente Microsoft Visual Basic para aplicaciones ventana, copie y pegue el siguiente código en el módulo en blanco:
Código de VBA: proteger todas las filas, la fecha ha pasado:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
'Updateby Extendoffice 20161025
Dim xRow As Long
xRow = 2
ThisWorkbook.ActiveSheet.Unprotect Password:="111111"
ThisWorkbook.ActiveSheet.Cells.Locked = False
Do Until IsEmpty(Cells(xRow, 5))
If Cells(xRow, 5) < Date Then
Rows(xRow).Locked = True
End If
xRow = xRow + 1
Loop
ThisWorkbook.ActiveSheet.Protect Password:="111111"
End Sub
Note: En el código anterior, el número 5 es el número de columna donde se ubica la fecha, "111111”Es la contraseña para proteger esta hoja. Puede cambiarlos según sus necesidades.
3. Luego guarde y cierre esta ventana de código.
(1.) Si hace clic en la fecha de la celda, aparecerá un cuadro emergente para recordarle que la celda no se puede editar, vea la captura de pantalla:
(2.) Si hace clic en la celda de filas para intentar cambiar los valores en la fecha de hoy o en la fecha futura, se modificará correctamente, vea la captura de pantalla:
Las mejores herramientas de productividad de oficina
Mejore sus habilidades de Excel con Kutools for Excel y experimente la eficiencia como nunca antes. Kutools for Excel ofrece más de 300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haga clic aquí para obtener la función que más necesita...
Office Tab lleva la interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil
- Habilite la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abra y cree varios documentos en nuevas pestañas de la misma ventana, en lugar de en nuevas ventanas.
- ¡Aumenta su productividad en un 50% y reduce cientos de clics del mouse todos los días!