¿Cómo proteger celdas en Excel según la fecha?
Normalmente, podemos proteger la hoja de cálculo para evitar que otros editen o modifiquen los valores de las celdas, pero en ocasiones es necesario proteger las celdas según la fecha. Por ejemplo, puede que desees bloquear todas las demás celdas y permitir únicamente la edición de los valores correspondientes a la fecha de hoy, tal como se muestra en la siguiente captura de pantalla. Este artículo explica cómo proteger celdas en función de la fecha.

Proteger todas las filas excepto la fila con la fecha de hoy mediante código VBA
Proteger todas las filas cuya fecha ya ha pasado mediante código VBA
Proteger todas las filas excepto la fila con la fecha de hoy mediante código VBA
Permita únicamente la modificación de la fila cuya fecha coincida con la de hoy. El siguiente código le ayudará; siga estos pasos:
1. Haga clic con el botón derecho en la pestaña de la hoja en la que desea proteger celdas según la fecha y seleccione Ver código en el menú contextual. A continuación, en la ventana emergente de Microsoft Visual Basic para Aplicaciones, copie y pegue el siguiente código en el módulo en blanco:
Código VBA: Proteger todas las filas excepto la fila con 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

Nota: En el código anterior, la letra E es la cabecera de la columna donde se encuentra la fecha, y «111111» es la contraseña para proteger esta hoja. Puede modificar ambos elementos según sus necesidades.
2. A continuación, guarda y cierra esta ventana de código.
(1.) Si hace clic en otras celdas fuera de la fila con la fecha de hoy, aparecerá un cuadro de aviso recordándole que no se puede editar la celda; consulte la captura de pantalla:

(2.) Si hace clic y edita la fila cuya fecha coincide con la de hoy, la modificación se realizará correctamente; consulte la captura de pantalla:


Descubra la magia de Excel con KUTOOLS AI
- Ejecución inteligente: Realice operaciones en celdas, analice datos y cree gráficos con comandos sencillos.
- fórmulas personalizadas: Cree fórmulas a medida para optimizar sus flujos de trabajo.
- Programación en VBA: Escriba e implemente código VBA con facilidad.
- Interpretación de fórmulas: Entienda las fórmulas complejas con facilidad.
- Traducción de texto: Rompa las barreras del idioma directamente en sus hojas de cálculo.
Proteger todas las filas cuya fecha ya ha pasado mediante código VBA
Si necesita proteger todas las filas cuya fecha ya ha pasado y permitir únicamente la modificación de las filas con la fecha de hoy o 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 celdas según la fecha y, a continuación, elija Ver códigoen el menú contextual. En la ventana emergente de Microsoft Visual Basic para Aplicaciones, copie y pegue el siguiente código en el módulo en blanco:
Código VBA: Proteger todas las filas cuya fecha ya 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

Nota: En el código anterior, el número 5 es el número de la columna donde se encuentra la fecha y «111111» es la contraseña para proteger esta hoja. Puede modificar ambos elementos según sus necesidades.
3. A continuación, guarda y cierra esta ventana de código.
(1.) Si hace clic en celdas cuya fecha ya ha pasado, aparecerá un cuadro de aviso recordándole que no se puede editar la celda; consulte la captura de pantalla:

(2.) Si hace clic en celdas de filas para intentar modificar los valores con la fecha de hoy o una fecha futura, la modificación se realizará correctamente; consulte la captura de pantalla:

Las mejores herramientas de productividad para Office
Potencie sus habilidades en Excel con Kutools para Excel y experimente una eficiencia como nunca antes.Kutools para Excel ofrece más de 300 funciones avanzadas para aumentar su productividad y Ahorrar tiempo.Haga clic aquí para obtener la función que más necesita...
Office Tab aporta una interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil
- Active 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 dentro de la misma ventana, en lugar de hacerlo en ventanas separadas.
- ¡Aumente su productividad en un 50 % y elimine cientos de clics del ratón cada día!
Todos los complementos de Kutools en un solo instalador.
Kutools for Office es la suite que incluye complementos para Excel, Word, Outlook y PowerPoint, además de Office Tab Pro, ideal para equipos que trabajan en distintas aplicaciones de Office.
- Suite integral— complementos para Excel, Word, Outlook y PowerPoint + Office Tab Pro
- Un instalador, una licencia— configuración en minutos (compatible con MSI)
- Rendimiento mejorado en conjunto— productividad optimizada en todas las aplicaciones de Office
- Prueba gratuita de 30 días con todas las funciones— sin registro ni tarjeta de crédito
- La mejor relación calidad-precio— ahorre frente a la compra individual de complementos