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
Potenzia le tue competenze di Excel con Kutools per Excel e sperimenta l'efficienza come mai prima d'ora. Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e risparmiare tempo. Fai clic qui per ottenere la funzionalità di cui hai più bisogno...
Office Tab porta l'interfaccia a schede in Office e semplifica notevolmente il tuo 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!