Hur skyddar jag celler baserat på datum i Excel?
Normalt kan vi skydda kalkylbladet för att förhindra att andra redigerar eller ändrar cellvärdena, men ibland måste du skydda cellerna baserat på datum. Till exempel vill jag skydda andra celler men bara låta cellvärdena för dagens datum modifieras enligt följande skärmdump, den här artikeln kommer att prata om hur man skyddar celler baserat på datum.
Skydda alla rader utom dagens datumrad med VBA-kod
Skydda alla rader som datumet har passerat med VBA-kod
Skydda alla rader utom dagens datumrad med VBA-kod
Tillåt bara att raden som motsvarar dagens datum kan ändras, följande kod kan hjälpa dig, gör så här:
1. Högerklicka på arkfliken som du vill skydda cellerna baserat på datum och välj sedan Visa kod från snabbmenyn, i poppade ut Microsoft Visual Basic för applikationer kopiera och klistra in följande kod i den tomma modulen:
VBA-kod: Skydda alla rader utom dagens datumrad:
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
Anmärkningar: I ovanstående kod, bokstaven E är kolumnrubriken där datumet ligger, “111111”Är lösenordet för att skydda detta ark. Du kan ändra dem efter dina behov.
2. Spara och stäng sedan kodfönstret.
(1.) Om du klickar på andra celler utöver dagens datumrad kommer en snabbruta att dyka upp för att påminna dig om att cellen inte kan redigeras, se skärmdump:
(2.) Om du klickar och redigerar raden som motsvarar dagens datum kommer den att ändras framgångsrikt, se skärmdump:
Skydda alla rader som datumet har passerat med VBA-kod
Om du behöver skydda alla rader som datumet har passerat, endast tillåta att dagens och framtida datumrader kan ändras, använd följande VBA-kod:
1. Högerklicka på arkfliken som du vill skydda cellerna baserat på datum och välj sedan Visa kod från snabbmenyn, i poppade ut Microsoft Visual Basic för applikationer kopiera och klistra in följande kod i den tomma modulen:
VBA-kod: Skydda alla rader datum har passerat:
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
Anmärkningar: I ovanstående kod, numret 5 är kolumnnumret där datumet ligger, “111111”Är lösenordet för att skydda detta ark. Du kan ändra dem efter dina behov.
3. Spara och stäng sedan kodfönstret.
(1.) Om du klickar på celldatumet har passerat kommer en snabbruta att dyka upp för att påminna dig om att cellen inte kan redigeras, se skärmdump:
(2.) Om du klickar på raderna för att försöka ändra värdena i dagens datum eller framtida datum kommer det att ändras framgångsrikt, se skärmdump:
De bästa Office-produktivitetsverktygen
Kutools för Excel löser de flesta av dina problem och ökar din produktivitet med 80%
- återanvändning: Sätt snabbt i komplexa formler, diagram och allt som du har använt tidigare; Kryptera celler med lösenord; Skapa e-postlista och skicka e-post ...
- Super Formula Bar (enkelt redigera flera rader med text och formel); Läslayout (enkelt läsa och redigera ett stort antal celler); Klistra in i filtrerat intervall...
- Sammanfoga celler / rader / kolumner utan att förlora data; Delat cellinnehåll; Kombinera duplicerade rader / kolumner... Förhindra duplicerade celler; Jämför intervall...
- Välj Duplicera eller Unikt Rader; Välj tomma rader (alla celler är tomma); Super Find och Fuzzy Find i många arbetsböcker; Slumpmässigt val ...
- Exakt kopia Flera celler utan att ändra formelreferens; Skapa referenser automatiskt till flera ark; Sätt in kulor, Kryssrutor och mer ...
- Extrahera text, Lägg till text, ta bort efter position, Ta bort mellanslag; Skapa och skriva ut personsökningstalsatser; Konvertera mellan celler innehåll och kommentarer...
- Superfilter (spara och tillämpa filterscheman på andra ark); Avancerad sortering efter månad / vecka / dag, frekvens och mer; Specialfilter av fet, kursiv ...
- Kombinera arbetsböcker och arbetsblad; Sammanfoga tabeller baserat på nyckelkolumner; Dela data i flera ark; Batchkonvertera xls, xlsx och PDF...
- Mer än 300 kraftfulla funktioner. Stöder Office / Excel 2007-2021 och 365. Stöder alla språk. Enkel implementering i ditt företag eller organisation. Fullständiga funktioner 30 dagars gratis provperiod. 60 dagars pengarna tillbaka-garanti.

Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare
- Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
- Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
- Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!






























