Come proteggere le celle in base alla data in Excel?
Normalmente, possiamo proteggere il foglio di lavoro per impedire ad altri di modificare o modificare i valori delle celle, ma, a volte, è necessario proteggere le celle in base alla data. Ad esempio, voglio proteggere altre celle ma consentire solo la modifica dei valori delle celle della data odierna come mostrato nella seguente schermata, questo articolo parlerà di come proteggere le celle in base alla data.
Proteggi tutte le righe tranne la riga della data odierna con il codice VBA
Proteggi tutte le righe che la data è passata con il codice VBA
Proteggi tutte le righe tranne la riga della data odierna con il codice VBA
Consenti solo la modifica della riga che corrisponde alla data odierna, il seguente codice può aiutarti, per favore fai come segue:
1. Fare clic con il pulsante destro del mouse sulla scheda del foglio in cui si desidera proteggere le celle in base alla data, quindi scegliere Visualizza codice dal menu contestuale, nel saltato fuori Microsoft Visual Basic, Applications Edition finestra, copia e incolla il seguente codice nel modulo vuoto:
Codice VBA: proteggi tutte le righe tranne la riga della data odierna:
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:: Nel codice sopra, la lettera E è l'intestazione della colonna in cui si trova la data, "111111"È la password per proteggere questo foglio. Puoi cambiarli secondo le tue necessità.
2. Quindi salva e chiudi questa finestra del codice.
(1.) Se fai clic su altre celle oltre la riga della data odierna, verrà visualizzata una finestra di messaggio per ricordarti che la cella non può essere modificata, vedi screenshot:
(2.) Se fai clic e modifichi la riga uguale alla data odierna, verrà modificata correttamente, vedi screenshot:
Proteggi tutte le righe che la data è passata con il codice VBA
Se è necessario proteggere tutte le righe in cui la data è trascorsa, consentire la modifica solo delle righe della data odierna e futura, applicare il seguente codice VBA:
1. Fare clic con il pulsante destro del mouse sulla scheda del foglio in cui si desidera proteggere le celle in base alla data, quindi scegliere Visualizza codice dal menu contestuale, nel saltato fuori Microsoft Visual Basic, Applications Edition finestra, copia e incolla il seguente codice nel modulo vuoto:
Codice VBA: la data di protezione di tutte le righe è passata:
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:: Nel codice sopra, il numero 5 è il numero della colonna in cui si trova la data, "111111"È la password per proteggere questo foglio. Puoi cambiarli secondo le tue necessità.
3. Quindi salva e chiudi questa finestra del codice.
(1.) Se fai clic sulla data delle celle trascorsa, verrà visualizzata una finestra di messaggio per ricordarti che la cella non può essere modificata, vedi screenshot:
(2.) Se fai clic sulla cella delle righe per provare a modificare i valori nella data odierna o nella data futura, verrà modificato correttamente, vedi screenshot:
I migliori strumenti per la produttività in ufficio
Kutools per Excel risolve la maggior parte dei tuoi problemi e aumenta la tua produttività dell'80%
- Riutilizzo: Inserisci rapidamente formule complesse, grafici e tutto ciò che hai usato prima; Crittografa celle con password; Crea mailing list e invia email ...
- Bar Super Formula (modifica facilmente più righe di testo e formula); Layout di lettura (leggi e modifica facilmente un gran numero di celle); Incolla su intervallo filtrato...
- Unisci celle / righe / colonne senza perdere dati; Contenuto delle celle divise; Combina righe / colonne duplicate... Impedisci celle duplicate; Confronta intervalli...
- Seleziona Duplica o Unico Righe; Seleziona Righe vuote (tutte le celle sono vuote); Super Find e Fuzzy Find in molte cartelle di lavoro; Selezione casuale ...
- Copia esatta Più celle senza modificare il riferimento della formula; Riferimenti di creazione automatica a più fogli; Inserisci punti elenco, Caselle di controllo e altro ...
- Estrai testo, Aggiungi testo, Rimuovi per posizione, Rimuovi spazio; Creare e stampare totali parziali di paging; Converti contenuto e commenti tra celle...
- Super filtro (salva e applica schemi di filtri ad altri fogli); Ordinamento avanzato per mese / settimana / giorno, frequenza e altro; Filtro speciale in grassetto, corsivo ...
- Combina cartelle di lavoro e fogli di lavoro; Unisci tabelle in base a colonne chiave; Suddividi i dati in più fogli; Conversione in batch xls, xlsx e PDF...
- Più di 300 potenti funzionalità. Supporta Office/Excel 2007-2021 e 365. Supporta tutte le lingue. Facile implementazione nella tua azienda o organizzazione. Funzionalità complete Prova gratuita di 30 giorni. Garanzia di rimborso di 60 giorni.

Scheda Office porta l'interfaccia a schede a Office e semplifica notevolmente il lavoro
- 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, piuttosto che in nuove finestre.
- Aumenta la produttività del 50% e riduce ogni giorno centinaia di clic del mouse!






























