Skip to main content

Come proteggere le celle in base alla data in Excel?

Author: Xiaoyang Last Modified: 2025-05-29

Normalmente, possiamo proteggere il foglio di lavoro per impedire ad altri di modificare o alterare i valori delle celle, ma a volte è necessario proteggere le celle in base alla data. Ad esempio, voglio proteggere tutte le altre celle e consentire solo la modifica dei valori delle celle con la data di oggi, come mostrato nello screenshot seguente. Questo articolo spiegherà come proteggere le celle in base alla data.

protect cells based on date

Proteggi tutte le righe tranne quella della data di oggi con il codice VBA

Proteggi tutte le righe con date passate tramite codice VBA


arrow blue right bubble Proteggi tutte le righe tranne quella della data di oggi con il codice VBA

Permetti solo la modifica della riga corrispondente alla data di oggi; il seguente codice può aiutarti, procedi come segue:

1. Fai clic con il tasto destro sulla scheda del foglio in cui desideri proteggere le celle in base alla data, quindi scegli Visualizza Codice dal menu contestuale. Nella finestra Microsoft Visual Basic for Applications che si apre, copia e incolla il seguente codice nel Modulo vuoto:

Codice VBA: Proteggi tutte le righe tranne quella della data di oggi:

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: Nel codice sopra, la lettera E è l'intestazione della colonna dove si trova la data, “111111” è la password per proteggere questo foglio. Puoi modificarli secondo necessità.

2. Quindi salva e chiudi questa finestra del codice.

(1.) Se fai clic su altre celle al di fuori della riga della data di oggi, apparirà una finestra di avviso per ricordarti che la cella non può essere modificata, vedi screenshot:

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.) Se fai clic e modifichi la riga corrispondente alla data di oggi, verrà modificata correttamente, vedi screenshot:

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

a screenshot of kutools for excel ai

Sblocca la Magia di Excel con Kutools AI

  • Esecuzione Intelligente: Esegui operazioni sulle celle, analizza i dati e crea grafici — tutto guidato da semplici comandi.
  • Formule Personalizzate: Genera formule su misura per ottimizzare i tuoi flussi di lavoro.
  • Codifica VBA: Scrivi e implementa codice VBA senza sforzo.
  • Interpretazione delle Formule: Comprendi facilmente formule complesse.
  • Traduzione del Testo: Superare le barriere linguistiche all'interno dei tuoi fogli di calcolo.
Potenzia le tue capacità di Excel con strumenti alimentati dall'IA. Scarica Ora ed esperisci un'efficienza mai vista prima!

arrow blue right bubble Proteggi tutte le righe con date passate tramite codice VBA

Se hai bisogno di proteggere tutte le righe con date passate e permettere solo la modifica delle righe relative alla data di oggi e alle date future, applica il seguente codice VBA:

1. Fai clic con il tasto destro sulla scheda del foglio in cui desideri proteggere le celle in base alla data, quindi scegli Visualizza Codice dal menu contestuale. Nella finestra Microsoft Visual Basic for Applications che si apre, copia e incolla il seguente codice nel Modulo vuoto:

Codice VBA: Proteggi tutte le righe con date passate:

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: Nel codice sopra, il numero 5 è il numero della colonna dove si trova la data, “111111” è la password per proteggere questo foglio. Puoi modificarli secondo necessità.

3. Quindi salva e chiudi questa finestra del codice.

(1.) Se fai clic sulle celle con date passate, apparirà una finestra di avviso per ricordarti che la cella non può essere modificata, vedi screenshot:

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

(2.) Se fai clic sulla cella delle righe per provare a cambiare i valori nella data di oggi o in una data futura, verrà modificata correttamente, vedi screenshot:

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

I migliori strumenti per la produttività in Office

🤖 Kutools AI Aide: Rivoluziona l'analisi dei dati grazie a: Esecuzione Intelligente | Genera Codice | Crea Formule Personalizzate | Analizza Dati e Genera Grafici | Richiama Funzioni avanzate di Kutools
Funzionalità popolari: Trova, evidenzia o contrassegna duplicati | Elimina righe vuote | Unisci colonne o celle senza perdere dati | Arrotonda...
Super RICERCA.VERT: Ricerca VERT con criteri multipli | Ricerca VERT con valori multipli | Ricerca su più fogli | Corrispondenza approssimativa...
Elenco a discesa avanzato: Crea rapidamente un elenco a discesa | Elenco a discesa dipendente | Elenco a discesa multi-selezione...
Gestione Colonne: Aggiungi un numero specifico di colonne | Sposta colonne | Attiva/disattiva la visibilità delle colonne nascoste | Confronta intervalli e colonne...
Funzionalità in evidenza: Attenzione della griglia | Visualizzazione di progettazione | Barra delle formule avanzata | Gestione Cartella di lavoro e Foglio di lavoro | Libreria AutoText | Selettore di data | Unisci dati | Crittografa/Decrittografa celle | Invia Email tramite elenco | Super Filtri | Filtro speciale (filtra grassetto/corsivo/barrato...) ...
Top15 set di strumenti:12 strumenti di testo (Aggiungi testo, Elimina Caratteri Specifici, ...) | Oltre50 tipi di grafici (Diagramma di Gantt, ...) | Oltre40 formule pratiche (Calcola l'età in base alla data di nascita, ...) |19 strumenti di inserimento (Inserisci codice QR, Inserisci Immagine da percorso, ...) |12 strumenti di conversione (Converti in parole, Conversione valuta, ...) |7 strumenti di unione e divisione (Unione avanzata righe, Dividi celle, ...) | ... e molto altro

Potenzia le tue competenze in Excel con Kutools per Excel e sperimenta un'efficienza mai vista prima. Kutools per Excel offre oltre300 funzionalità avanzate per aumentare la produttività e risparmiare tempo. Clicca qui per ottenere la funzione di cui hai più bisogno...


Office Tab porta l'interfaccia a schede in Office e rende il tuo lavoro molto più semplice

  • Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede della stessa finestra, invece che in nuove finestre.
  • Aumenta la tua produttività del50% e riduce centinaia di clic del mouse ogni giorno!