Skip to main content

Kutools per Office — Una Suite. Cinque Strumenti. Ottieni di Più.

Come proteggere le celle in base alla data in Excel?

Author Xiaoyang Last modified

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 crea grafici | Attiva Funzioni avanzate
Funzionalità più usate: Trova, evidenziazione o contrassegna duplicati | Elimina righe vuote | Unisci colonne o celle senza perdere dati | Arrotonda senza formula...
Super RICERCA.VERT: Ricerca VERT per criteri multipli | Ricerca VERT per 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...
Gestore colonne: Aggiungi un numero specifico di colonne | Sposta colonne | Cambia stato di visibilità delle colonne nascoste | Confronta intervalli & colonne...
Funzionalità in primo piano: Attenzione della griglia | Visualizzazione di progettazione | Barra delle formule avanzata | Gestore di cartelle di lavoro & fogli | Libreria AutoText | Selettore di data | Unisci dati | Crittografa/Decrittografa celle | Invia Email per elenco | Super Filtri | Filtro speciale (filtra grassetto/corsivo/barrato...)...
Top15 strumenti:12 strumenti Testo (Aggiungi testo, Elimina Caratteri Specifici, ...) |50+ tipi di grafico (Diagramma di Gantt, ...) |40+ formule pratiche (Calcola letà 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 Unione & Dividi (Unione avanzata righe, Dividi celle, ...) | ... e altro ancora
Usa Kutools nella lingua che preferisci – supporta Inglese, Spagnolo, Tedesco, Francese, Cinese e oltre40 altre lingue!

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 farti risparmiare tempo. Clicca qui per ottenere la funzione di cui hai più bisogno...


Office Tab porta le schede su Office e rende il tuo lavoro molto più semplice

  • Abilita la modifica e 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 produttività del50% e riduce centinaia di clic del mouse ogni giorno!

Tutti gli add-in Kutools. Un solo programma di installazione

La suite Kutools for Office include add-in per Excel, Word, Outlook & PowerPoint più Office Tab Pro, ideale per i team che lavorano su più app di Office.

Excel Word Outlook Tabs PowerPoint
  • Suite tutto-in-uno — Add-in per Excel, Word, Outlook & PowerPoint + Office Tab Pro
  • Un solo programma di installazione, una sola licenza — configurazione in pochi minuti (pronto per MSI)
  • Funzionano meglio insieme — produttività ottimizzata su tutte le app Office
  • Prova completa30 giorni — nessuna registrazione, nessuna carta di credito
  • Massimo risparmio — costa meno rispetto all’acquisto singolo degli add-in