Skip to main content

¿Cómo proteger celdas basadas en la fecha en Excel?

Author: Xiaoyang Last Modified: 2025-08-06

Normalmente, podemos proteger la hoja de cálculo para evitar que otros editen o modifiquen los valores de las celdas, pero a veces necesitas proteger las celdas basándote en la fecha. Por ejemplo, quiero proteger otras celdas pero solo permitir que se modifiquen los valores de las celdas con la fecha de hoy, como se muestra en la siguiente captura de pantalla. Este artículo hablará sobre cómo proteger celdas basadas en la fecha.

protect cells based on date

Proteger todas las filas excepto la fila de la fecha de hoy con código VBA

Proteger todas las filas cuya fecha ya ha pasado con código VBA


arrow blue right bubble Proteger todas las filas excepto la fila de la fecha de hoy con código VBA

Solo permite modificar la fila que sea igual a la fecha de hoy; el siguiente código puede ayudarte, por favor haz lo siguiente:

1. Haz clic derecho en la pestaña de la hoja donde deseas proteger las celdas basadas en la fecha y luego selecciona Ver código desde el menú contextual. En la ventana emergente de Microsoft Visual Basic for Applications, copia y pega el siguiente código en el Módulo en blanco:

Código VBA: Proteger 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

click View Code and paste the code intot he module

Nota: En el código anterior, la letra E es el encabezado de la columna donde están las fechas, “111111” es la contraseña para proteger esta hoja. Puedes cambiarlos según tus necesidades.

2. Luego guarda y cierra esta ventana de código.

(1.) Si haces clic en otras celdas fuera de la fila de la fecha de hoy, aparecerá un cuadro de diálogo indicando que la celda no se puede editar, ver captura de pantalla:

If click other cells beyond today’s date row, an prompt box will pop out to remind you the cell can’t be edited

(2.) Si haces clic y editas la fila igual a la fecha de hoy, se modificará correctamente, ver captura de pantalla:

If click and edit the row equals today’s date, it will be modified

a screenshot of kutools for excel ai

Descubre la Magia de Excel con Kutools AI

  • Ejecución Inteligente: Realiza operaciones en celdas, analiza datos y crea gráficos, todo impulsado por comandos simples.
  • Fórmulas Personalizadas: Genera fórmulas adaptadas para optimizar tus flujos de trabajo.
  • Codificación VBA: Escribe e implementa código VBA sin esfuerzo.
  • Interpretación de Fórmulas: Comprende fórmulas complejas con facilidad.
  • Traducción de Texto: Supera las barreras del idioma dentro de tus hojas de cálculo.
Potencia tus capacidades de Excel con herramientas impulsadas por IA. ¡Descarga Ahora y experimenta una eficiencia como nunca antes!

arrow blue right bubble Proteger todas las filas cuya fecha ya ha pasado con código VBA

Si necesitas proteger todas las filas cuya fecha ya ha pasado, y solo permitir que se modifiquen las filas de la fecha de hoy y futuras, aplica el siguiente código VBA:

1. Haz clic derecho en la pestaña de la hoja donde deseas proteger las celdas basadas en la fecha y luego selecciona Ver código desde el menú contextual. En la ventana emergente de Microsoft Visual Basic for Applications, copia y pega 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

click View Code and paste the code intot he module

Nota: En el código anterior, el número 5 es el número de columna donde están las fechas, “111111” es la contraseña para proteger esta hoja. Puedes cambiarlos según tus necesidades.

3. Luego guarda y cierra esta ventana de código.

(1.) Si haces clic en las celdas cuya fecha ya ha pasado, aparecerá un cuadro de diálogo indicando que la celda no se puede editar, ver captura de pantalla:

If click the cells date has passed, an prompt box will pop out to remind the cell can’t be edited

(2.) Si haces clic en la celda de las filas para intentar cambiar los valores en la fecha de hoy o en una fecha futura, se modificará correctamente, ver captura de pantalla:

If click the cell of rows to try to change the values in today’s date or future date, it will be modified

Las mejores herramientas de productividad para Office

🤖 Asistente de IA de Kutools: Revoluciona el análisis de datos basado en: Ejecución inteligente |Generar código |Crear fórmulas personalizadas |Analizar datos y generar gráficos |Invocar funciones mejoradas
Funciones populares: Buscar, resaltar o marcar duplicados | Eliminar filas en blanco | Combinar columnas o celdas sin perder datos | Redondear...
Super BUSCARV: Búsqueda con múltiples criterios | Búsqueda de múltiples valores | Búsqueda en varias hojas | Coincidencia difusa....
Lista desplegable avanzada: Crea rápidamente listas desplegables | Lista desplegable dependiente | Lista desplegable con selección múltiple....
Administrador de columnas: Agregar un número específico de columnas | Mover columnas | Cambiar la visibilidad de columnas ocultas | Comparar rangos y columnas...
Funciones destacadas: Cuadrícula de enfoque | Vista de diseño | Barra de fórmulas mejorada | Administrador de libros y hojas de cálculo | Biblioteca de AutoTexto | Selector de fechas | Combinar Datos | Encriptar/Descifrar celdas | Enviar correo electrónico por lista | Super Filtro | Filtro especial (filtro negrita/cursiva/tachado...)...
Top15 conjuntos de herramientas:12 herramientas de texto (Agregar texto, Eliminar caracteres, ...) | Más de50 tipos de gráficos (Diagrama de Gantt, ...) | Más de40 fórmulas prácticas (Calcular edad basada en la fecha de nacimiento, ...) |19 herramientas de inserción (Insertar código QR, Insertar imagen desde ruta, ...) |12 herramientas de conversión (Convertir a palabras, Conversión de moneda, ...) |7 herramientas de combinar y dividir (Combinar filas avanzado, Dividir celdas, ...) | ... y mucho más
Utiliza Kutools en tu idioma preferido: ¡compatible con Inglés, Español, Alemán, Francés, Chino y más de40 idiomas adicionales!

Impulsa al máximo tu dominio de Excel con Kutools para Excel y experimenta una eficiencia sin precedentes. Kutools para Excel ofrece más de300 funciones avanzadas para potenciar la productividad y ahorrar tiempo.Haz clic aquí para obtener la función que más necesitas...


Office Tab aporta una interfaz de pestañas a Office y hace tu trabajo mucho más sencillo

  • Habilita la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
  • Abre y crea varios documentos en nuevas pestañas de la misma ventana, en vez de en nuevas ventanas.
  • ¡Aumenta tu productividad hasta un50% y reduce cientos de clics de ratón cada día!