Suggerimento: le altre lingue sono tradotte da Google. Puoi visitare il English versione di questo link.
Connetti
x
or
x
x
Registrati
x

or

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 solo consentire che i valori della cella della data di oggi vengano modificati come mostrato nella seguente schermata, questo articolo parlerà di come proteggere le celle in base alla data.

doc proteggere per data 1

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

Proteggi tutte le righe che la data ha passato con il codice VBA

Scheda Office Abilita la modifica e la navigazione a schede in Office e semplifica notevolmente il tuo lavoro ...
Kutools per Excel: il miglior strumento di produttività per ufficio risolverà la maggior parte dei problemi di Excel
  • Riutilizzare qualsiasi cosa: Aggiungi le formule più utilizzate o complesse, i grafici e qualsiasi altra cosa ai tuoi preferiti e riutilizzali rapidamente in futuro.
  • Più delle funzioni di testo di 20: Estrai numero da stringa di testo; Estrai o rimuovi parte di testi; Converti numeri e valute in parole inglesi ...
  • Unisci strumenti: Più cartelle di lavoro e fogli in uno; Unisci più celle / righe / colonne senza perdere dati; Unisci righe duplicate e somma ...
  • Strumenti di divisione: Suddivisione dei dati in più fogli in base al valore; Una cartella di lavoro per più file Excel, PDF o CSV; Una colonna a più colonne ...
  • Incolla Saltare Righe nascoste / filtrate; Conte E Somma per colore di sfondo; Crea una mailing list e Invia e-mail in base al valore della cella...
  • Super filtro: Crea schemi di filtro avanzati e applica a tutti i fogli; Ordinare per settimana, giorno, frequenza e altro; Filtro da grassetto, formule, commento ...
  • Oltre alle potenti funzionalità di 300; Funziona con Office 2007-2019 e 365; Supporta tutte le lingue; Semplice implementazione in azienda; Funzioni complete di prova gratuita di 60-day.

freccia blu bolla destra Proteggi tutte le righe tranne la riga della data di oggi con il codice VBA

Consenti solo alla riga che è uguale alla data di oggi di essere modificata, il seguente codice può aiutarti, per favore fai come segue:

1. Fare clic con il pulsante destro del mouse sulla scheda del foglio che si desidera proteggere le celle in base alla data, quindi scegliere Visualizza codice dal menu di scelta rapida, nel messaggio saltato fuori Microsoft Visual Basic, Applications Edition finestra, per favore copia e incolla il seguente codice nel modulo vuoto:

Codice VBA: proteggi tutte le righe tranne la riga 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

doc proteggere per data 2

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 di codice.

(1.) Se fai clic su altre celle oltre la riga di data odierna, verrà visualizzata una finestra di messaggio per ricordare che la cella non può essere modificata, vedi screenshot:

doc proteggere per data 3

(2.) Se fai clic e modifichi la riga equivale alla data odierna, verrà modificata correttamente, vedi screenshot:

doc proteggere per data 4


freccia blu bolla destra Proteggi tutte le righe che la data ha passato con il codice VBA

Se hai bisogno di proteggere tutte le righe che la data è stata superata, consenti solo la modifica delle righe di data odierne e future, applica il seguente codice VBA:

1. Fare clic con il pulsante destro del mouse sulla scheda del foglio che si desidera proteggere le celle in base alla data, quindi scegliere Visualizza codice dal menu di scelta rapida, nel messaggio saltato fuori Microsoft Visual Basic, Applications Edition finestra, per favore copia e incolla il seguente codice nel modulo vuoto:

Codice VBA: è stata superata la data di protezione di tutte le righe:

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

doc proteggere per data 5

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 di codice.

(1.) Se fai clic sulla data della cella, viene visualizzata una finestra di messaggio per ricordare che la cella non può essere modificata, vedi screenshot:

doc proteggere per data 6

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

doc proteggere per data 7


Kutools per Excel: il miglior strumento di produttività per ufficio aumenta la produttività del 80%

  • Riutilizzo: Inserire rapidamente formule complesse, grafici e tutto ciò che hai usato prima; Cifra le celle con password; Crea mailing list e invia email ...
  • Super Formula Bar (modifica facilmente più righe di testo e formula); Layout di lettura (leggere e modificare facilmente un gran numero di celle); Incolla su intervallo filtrato...
  • Unisci celle / righe / colonne senza perdere i dati; Contenuto delle celle divise; Combina righe / colonne duplicate... Previeni celle duplicate; Confronta le gamme...
  • Seleziona Duplica o Unica Righe; Seleziona righe vuote (tutte le celle sono vuote); Super Find e Fuzzy Find in molti libri di esercizi; Selezione casuale ...
  • Copia esatta Più celle senza modificare il riferimento alla formula; Creazione automatica di riferimenti a più fogli; Inserisci punti elenco, Caselle di controllo e altro ...
  • estrarre il testo, Aggiungi testo, Rimuovi per posizione, Rimuovi spazio; Creare e stampare subtotali di paging; Converti contenuto e commenti tra celle...
  • Super filtro (salva e applica schemi di filtro ad altri fogli); Ordinamento avanzato per mese / settimana / giorno, frequenza e altro; Filtro speciale di grassetto, corsivo ...
  • Combina cartelle di lavoro e fogli di lavoro; Unisci tabelle basate su colonne chiave; Dividi i dati in più fogli; Converti in batch xls, xlsx e PDF...
  • Oltre alle potenti funzionalità di 300. Supporta Office / Excel 2007-2019 e 365. Supporta tutte le lingue. Facile implementazione nella tua azienda o organizzazione. Funzioni complete di prova gratuita di 60-day.
kte tab 201905

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, Editore, accesso, Visio e progetto.
  • Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
  • Aumenta la tua produttività di 50% e riduce centinaia di clic del mouse per te ogni giorno!
fondo officetab
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Karan · 2 months ago
    Hi,

    while running this code I am getting an error as shown in the figure
    Also i am attaching a snapshot my excel where i want to make changes..

    Can u guide in my code where should i make changes according to my excel file so that cells that contain only todays & future date can be editied ???
    • To post as a guest, your comment is unpublished.
      skyyang · 1 months ago
      Hello, Karan,
      Because there are merged cells in your table, the above code can not be applied correctly in merged cells table.
      If you have any other good ideas, please comment here. Thank you!
  • To post as a guest, your comment is unpublished.
    Niall · 8 months ago
    As someone who is relatively new to VBA, would you mind explaining why xRow = 2 in Line 4?



    Thanks
    • To post as a guest, your comment is unpublished.
      Piotr · 8 months ago
      because in row no. 1 you have header
  • To post as a guest, your comment is unpublished.
    Bobby · 1 years ago
    This works great. but how can I switch it to unlock a column based on dates in row 3?
  • To post as a guest, your comment is unpublished.
    TAHER KANPURWALA · 1 years ago
    Hello.....


    I am using the code for Protect all rows except today’s date row........



    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    'Updateby Extendoffice 20161025
    If Range("A" & 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


    After i save i and click on cell i get message only today's date row can be edited....but if i double click the cell the i can edit...pls help
  • To post as a guest, your comment is unpublished.
    LUIS GARCIA · 1 years ago
    hi is it possible to lock certain cells depending on the date that is directly above them in a column?
    • To post as a guest, your comment is unpublished.
      skyyang · 1 years ago
      Hi, Lusis,
      Can you give your problem more specifically? Or you can attach a screenshot as your problem.
      Thank you!
  • To post as a guest, your comment is unpublished.
    Lmg · 1 years ago
    Hi is it possible to lock columns by the date directly above the columns?
  • To post as a guest, your comment is unpublished.
    Hitesh · 2 years ago
    Loophole: Password can be seen by other person by using "View Code" option.