Kako zaščititi celice na podlagi datuma v Excelu?
Običajno lahko zaščitimo delovni list, da drugim preprečimo urejanje ali spreminjanje vrednosti celic, včasih pa morate celice zaščititi glede na datum. Na primer, želim zaščititi druge celice, vendar dovolim spreminjanje vrednosti celic današnjega datuma, kot je prikazano na spodnji sliki zaslona, v tem članku bomo govorili o tem, kako zaščititi celice glede na datum.
Zaščitite vse vrstice, razen današnje datumske vrstice, s kodo VBA
Vse vrstice, ki jih je pretekel datum, zaščitite s kodo VBA
Zaščitite vse vrstice, razen današnje datumske vrstice, s kodo VBA
Spremenite lahko samo vrstico, ki je enaka današnjemu datumu. Naslednja koda vam lahko pomaga, naredite tako:
1. Z desno miškino tipko kliknite zavihek lista, na katerem želite zaščititi celice glede na datum, in nato izberite Ogled kode iz kontekstnega menija v izpuščenem Microsoft Visual Basic za aplikacije okno, kopirajte in prilepite naslednjo kodo v prazen modul:
Koda VBA: Zaščitite vse vrstice, razen današnje vrstice z datumi:
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
Opombe: V zgornji kodi črka E je naslov stolpca, kjer je datum, "111111"Je geslo za zaščito tega lista. Lahko jih spremenite po svojih potrebah.
2. Nato shranite in zaprite to okno s kodo.
(1.) Če kliknete druge celice nad današnjo vrstico z datumi, se prikaže pozivno polje, ki vas opomni, da celice ni mogoče urejati, glejte posnetek zaslona:
(2.) Če kliknete in uredite vrstico, ki je enaka današnjemu datumu, bo uspešno spremenjena, glejte posnetek zaslona:
Vse vrstice, ki jih je pretekel datum, zaščitite s kodo VBA
Če želite zaščititi vse vrstice, ki jih je pretekel datum, dovolite spreminjanje le vrstic danes in prihodnje datume, uporabite naslednjo kodo VBA:
1. Z desno miškino tipko kliknite zavihek lista, na katerem želite zaščititi celice glede na datum, in nato izberite Ogled kode iz kontekstnega menija v izpuščenem Microsoft Visual Basic za aplikacije okno, kopirajte in prilepite naslednjo kodo v prazen modul:
Koda VBA: Zaščitite vse vrstice datum je minil:
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
Opombe: V zgornji kodi številka 5 je številka stolpca, kjer se nahaja datum, "111111"Je geslo za zaščito tega lista. Lahko jih spremenite po svojih potrebah.
3. Nato shranite in zaprite to okno s kodo.
(1.) Če kliknete, da je datum celic minil, se prikaže pozivno polje, ki vas opomni, da celice ni mogoče urejati, glejte posnetek zaslona:
(2.) Če kliknete celico vrstic in poskusite spremeniti vrednosti na današnji datum ali prihodnji datum, bo ta uspešno spremenjena, glejte sliko zaslona:
Najboljša pisarniška orodja za produktivnost
Napolnite svoje Excelove spretnosti s Kutools za Excel in izkusite učinkovitost kot še nikoli prej. Kutools za Excel ponuja več kot 300 naprednih funkcij za povečanje produktivnosti in prihranek časa. Kliknite tukaj, če želite pridobiti funkcijo, ki jo najbolj potrebujete...
Kartica Office prinaša vmesnik z zavihki v Office in poenostavi vaše delo
- Omogočite urejanje in branje z zavihki v Wordu, Excelu, PowerPointu, Publisher, Access, Visio in Project.
- Odprite in ustvarite več dokumentov v novih zavihkih istega okna in ne v novih oknih.
- Poveča vašo produktivnost za 50%in vsak dan zmanjša na stotine klikov miške za vas!