Note: The other languages of the website are Google-translated. Back to English

Hoe cellen te beschermen op basis van datum in Excel?

Normaal gesproken kunnen we het werkblad beschermen om te voorkomen dat anderen de celwaarden bewerken of wijzigen, maar soms moet u de cellen beschermen op basis van datum. Ik wil bijvoorbeeld andere cellen beschermen, maar alleen toestaan ​​dat de celwaarden van de datum van vandaag worden gewijzigd zoals in de volgende schermafbeelding wordt getoond, in dit artikel wordt besproken hoe cellen kunnen worden beschermd op basis van datum.

doc beveiligen op datum 1

Bescherm alle rijen behalve de datumrij van vandaag met VBA-code

Bescherm alle rijen waarop de datum is verstreken met VBA-code


pijl blauw rechts bel Bescherm alle rijen behalve de datumrij van vandaag met VBA-code

Sta alleen de rij toe die gelijk is aan de datum van vandaag, de volgende code kan u helpen, doe dit als volgt:

1. Klik met de rechtermuisknop op de bladtab waarvan u de cellen wilt beschermen op basis van datum en kies vervolgens Bekijk code vanuit het contextmenu, in de pop-out Microsoft Visual Basic voor toepassingen venster, kopieer en plak de volgende code in de lege module:

VBA-code: bescherm alle rijen behalve de datumrij van vandaag:

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 beveiligen op datum 2

Opmerking:: In de bovenstaande code, de letter E is de kolomkop waar de datum zich bevindt, "111111”Is het wachtwoord om dit blad te beschermen. U kunt ze naar wens aanpassen.

2. Sla vervolgens dit codevenster op en sluit het.

(1.) Als u op andere cellen klikt dan de datumrij van vandaag, verschijnt er een promptvenster om u eraan te herinneren dat de cel niet kan worden bewerkt, zie screenshot:

doc beveiligen op datum 3

(2.) Als u klikt en de rij bewerkt die gelijk is aan de datum van vandaag, wordt deze met succes gewijzigd, zie screenshot:

doc beveiligen op datum 4


pijl blauw rechts bel Bescherm alle rijen waarop de datum is verstreken met VBA-code

Als u alle rijen moet beveiligen waarvan de datum is verstreken, alleen toestaan ​​dat de rijen van vandaag en toekomstige datum worden gewijzigd, pas dan de volgende VBA-code toe:

1. Klik met de rechtermuisknop op de bladtab waarvan u de cellen wilt beschermen op basis van datum en kies vervolgens Bekijk code vanuit het contextmenu, in de pop-out Microsoft Visual Basic voor toepassingen venster, kopieer en plak de volgende code in de lege module:

VBA-code: bescherm alle rijen datum is verstreken:

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 beveiligen op datum 5

Opmerking:: In de bovenstaande code, het nummer 5 is het kolomnummer waar de datum zich bevindt, "111111”Is het wachtwoord om dit blad te beschermen. U kunt ze naar wens aanpassen.

3. Sla vervolgens dit codevenster op en sluit het.

(1.) Als u op de celdatum klikt, verschijnt er een promptvenster om u eraan te herinneren dat de cel niet kan worden bewerkt, zie screenshot:

doc beveiligen op datum 6

(2.) Als u op de cel met rijen klikt om te proberen de waarden in de datum van vandaag of in de toekomst te wijzigen, wordt deze met succes gewijzigd, zie screenshot:

doc beveiligen op datum 7


De beste tools voor kantoorproductiviteit

Kutools voor Excel lost de meeste van uw problemen op en verhoogt uw productiviteit met 80%

  • visfuik: Snel invoegen complexe formules, grafieken en alles wat je eerder hebt gebruikt; Versleutel cellen met wachtwoord; Maak een mailinglijst en stuur e-mails ...
  • Super Formula-balk (bewerk eenvoudig meerdere regels tekst en formule); Lay-out lezen (gemakkelijk grote aantallen cellen lezen en bewerken); Plakken in gefilterd bereik...
  • Voeg cellen / rijen / kolommen samen zonder gegevens te verliezen; Gespleten cellen inhoud; Combineer dubbele rijen / kolommen... Voorkom dubbele cellen; Vergelijk Ranges...
  • Selecteer Dupliceren of Uniek Rijen; Selecteer lege rijen (alle cellen zijn leeg); Super zoeken en fuzzy zoeken in veel werkboeken; Willekeurige selectie ...
  • Exacte kopie Meerdere cellen zonder de formuleverwijzing te wijzigen; Maak automatisch verwijzingen naar meerdere bladen; Plaats kogels, Selectievakjes en meer ...
  • Extraheer tekst, Tekst toevoegen, Verwijderen op positie, Ruimte verwijderen; Paging-subtotalen maken en afdrukken; Converteren tussen celinhoud en opmerkingen...
  • Super filter (bewaar en pas filterschema's toe op andere bladen); Geavanceerd sorteren per maand / week / dag, frequentie en meer; Speciaal filter door vet, cursief ...
  • Combineer werkmappen en werkbladen; Tabellen samenvoegen op basis van sleutelkolommen; Gegevens splitsen in meerdere bladen; Batch Converteer xls, xlsx en PDF...
  • Meer dan 300 krachtige functies. Ondersteunt Office / Excel 2007-2021 en 365. Ondersteunt alle talen. Eenvoudig te implementeren in uw onderneming of organisatie. Volledige functies Gratis proefperiode van 30 dagen. 60 dagen geld-terug-garantie.
kte tabblad 201905

Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker

  • Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
  • Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
  • Verhoogt uw productiviteit met 50% en vermindert honderden muisklikken voor u elke dag!
officetab onderkant
Heb je vragen? Stel ze hier. (30)
Nog geen beoordelingen. Beoordeel als eerste!
Deze opmerking is gemaakt door de moderator op de site
Loophole: het wachtwoord kan door een andere persoon worden bekeken door de optie "Code weergeven" te gebruiken.
Deze opmerking is gemaakt door de moderator op de site
werkt niet omdat alle cellen het bericht tonen, maar kunnen worden bewerkt
Deze opmerking is gemaakt door de moderator op de site
Hallo, is het mogelijk om kolommen te vergrendelen op de datum direct boven de kolommen?
Deze opmerking is gemaakt door de moderator op de site
Private Sub-werkblad_Change (ByVal-doel als bereik)

'Abboneer op http://youtube.com/excel10tutorial

'Steun het kanaal door te doneren op http://patreon.com/excel10tutorial

Dim kleur Als bereik

'Stel hier de juiste bladnaam in:

Met ThisWorkbook.Sheets("AGOSTO-22")

.Beveiliging "ABCDE" opheffen

Voor elke col In .UsedRange.Columns

col.EntireColumn.Locked = col.Range("A1").Waarde <> Datum

volgende kleur

.Bescherm "ABCDE"

.EnableSelection = xlNoRestrictions

Eindigt met

End Sub
Deze opmerking is gemaakt door de moderator op de site
hallo is het mogelijk om bepaalde cellen te vergrendelen, afhankelijk van de datum die er direct boven in een kolom staat?
Deze opmerking is gemaakt door de moderator op de site
Hallo, Lusis,
Kunt u uw probleem specifieker geven? Of u kunt een screenshot als uw probleem bijvoegen.
Dank je!
Deze opmerking is gemaakt door de moderator op de site
Hallo Skyyang

Ja hier is een screenshot. Ik hoop dat dit helpt.
Deze opmerking is gemaakt door de moderator op de site
Hier is.
Deze opmerking is gemaakt door de moderator op de site
Hallo, Lucis,
Bedoel je om de kolommen te vergrendelen welke datum is verstreken, en alleen de kolommen van vandaag en toekomstige dagen kunnen worden gewijzigd?
Deze opmerking is gemaakt door de moderator op de site
Juist! Hoe zou ik dat aanpakken?
Deze opmerking is gemaakt door de moderator op de site
Hallo, Luis,
Hoe zit het met de datumcel in A1? Is het handmatig ingevoerd of ingevoerd met een formule =now()? Als het een formulecel is, worden de vergrendelde kolommen gewijzigd met de datumwijzigingen.
Ik kijk uit naar je antwoord!
Deze opmerking is gemaakt door de moderator op de site
Hallo Skyyangg

ja de cel A1 heeft de =now() formule.

bedankt!
Deze opmerking is gemaakt door de moderator op de site
Hallo.....


Ik gebruik de code voor Alle rijen beschermen behalve de datumrij van vandaag........



Privé subwerkblad_SelectionChange (ByVal-doel als bereik)
'Bijwerken door' Extendoffice 20161025
Als Bereik ("A" & Selectie. Rij). Waarde <> Datum Dan
ActiveSheet.Bescherm wachtwoord:="111111"
MsgBox "Alleen de datumrij van vandaag kan worden bewerkt!", vbInformation, "Kutools for Excel"
ElseIf Range ("E" & Selection.Rij). Waarde = Datum Dan
ActiveSheet.Unprotect wachtwoord:="111111"
ActiveSheet.EnableSelection = xlNoRestrictions
End If
End Sub


Nadat ik i heb opgeslagen en op cel heb geklikt, krijg ik een bericht dat alleen de datumrij van vandaag kan worden bewerkt .... maar als ik dubbelklik op de cel, kan ik het bewerken ... help me
Deze opmerking is gemaakt door de moderator op de site
Dit werkt geweldig. maar hoe kan ik het omschakelen om een ​​kolom te ontgrendelen op basis van datums in rij 3?
Deze opmerking is gemaakt door de moderator op de site
Als iemand die relatief nieuw is in VBA, zou je het erg vinden om uit te leggen waarom xRow = 2 in regel 4?



Bedankt
Deze opmerking is gemaakt door de moderator op de site
want in rij nr. 1 je hebt koptekst
Deze opmerking is gemaakt door de moderator op de site
Hoi,

tijdens het uitvoeren van deze code krijg ik een foutmelding zoals weergegeven in de afbeelding
Ook voeg ik een momentopname toe aan mijn Excel waar ik wijzigingen wil aanbrengen ..

Kunt u in mijn code aangeven waar ik wijzigingen moet aanbrengen volgens mijn Excel-bestand, zodat cellen die alleen de huidige en toekomstige datum bevatten, kunnen worden gewijzigd ???
Deze opmerking is gemaakt door de moderator op de site
Hallo, Karan,
Omdat uw tabel samengevoegde cellen bevat, kan de bovenstaande code niet correct worden toegepast in de tabel met samengevoegde cellen.
Als u nog andere goede ideeën heeft, kunt u hier reageren. Dank u!
Deze opmerking is gemaakt door de moderator op de site
Hallo, ik heb geprobeerd hetzelfde te doen, maar om alle kolommen behalve de datumkolom van vandaag te beschermen met VBA-code door "Selection.Row" te vervangen door "Selection.Columns" en "E" door "5" (rijnummer waar datums zijn), maar Ik krijg steeds fout 1004!

Hulp alstublieft?

Bedankt
Deze opmerking is gemaakt door de moderator op de site
Hallo, ik heb geprobeerd hetzelfde te doen, maar om alle kolommen behalve de datumkolom van vandaag te beschermen met VBA-code door "Selection.Row" te vervangen door "Selection.Columns" en "E" door "5" (rijnummer waar datums zijn), maar Ik krijg steeds fout 1004!

Hulp alstublieft?

Bedankt
Deze opmerking is gemaakt door de moderator op de site
Hallo,
Gebruik de volgende VBA-code om deze code toe te passen op kolommen die u nodig hebt: (Opmerking: in de code is 5 het rijnummer dat de datum bevat, wijzig dit naar uw behoefte.)

Privé subwerkblad_SelectionChange (ByVal-doel als bereik)
Dim xRg als bereik
Stel xRg = Target.Worksheet.Cells(5, Target.Column) in
Als xRg <> Datum Dan
ActiveSheet.Bescherm wachtwoord:="111111"
MsgBox "Alleen de datumrij van vandaag kan worden bewerkt!", vbInformation, "Kutools for Excel"
ElseIf xRg.Waarde = Datum Dan
ActiveSheet.Unprotect wachtwoord:="111111"
ActiveSheet.EnableSelection = xlNoRestrictions
End If
End Sub

Probeer het alsjeblieft, ik hoop dat het je kan helpen!
Deze opmerking is gemaakt door de moderator op de site
Dank u! Sorry, ik heb je antwoord tot nu toe niet ontvangen, het kan een probleem zijn in mijn e-mail.

Het werkte! Kan niet genoeg bedanken! Ik waardeer dat echt!
Deze opmerking is gemaakt door de moderator op de site
Hoi,
Fijn dat het je kan helpen!
Deze opmerking is gemaakt door de moderator op de site
Hoi,

Ik probeer dit uit te breiden om kolommen te beschermen die deze huidige maand en/of deze huidige week niet bevatten. Ik heb geprobeerd "Datum" te vervangen door "maand" of "week", maar dat lukte niet.

Ik heb een voorbeeldblad voor weken bijgevoegd waar de gebruiker geen andere kolommen dan deze week kan bewerken of typen.

Enig advies daarover? of zal ik werkelijke datums gebruiken om een ​​dag in de maand weer te geven?
Deze opmerking is gemaakt door de moderator op de site
Bedankt voor je hulp, heel erg bedankt vriend, het is een grote hulp. en loste mijn spanning op.
Be safe
Groeten Rohit Khanna
Deze opmerking is gemaakt door de moderator op de site
Hallo, ik heb een probleem, zodra ik het bestand sluit en op dezelfde datum opnieuw open, werkt de code niet. pls help ik zit vast
Deze opmerking is gemaakt door de moderator op de site
Hallo, rohit,
Om de code te behouden, moet u uw werkmap opslaan als Excel Macro-Enabled Workbook-indeling, probeer het alstublieft, bedankt!
Deze opmerking is gemaakt door de moderator op de site
hallo ik heb het gedaan, maar als ik op het celbericht druk, blijkt dat het niet kan worden bewerkt, maar als ik op keyborad druk, kan ik nog steeds in de cel schrijven
Deze opmerking is gemaakt door de moderator op de site
Hallo, ik wil toekomstige dagen beschermen en het bewerken van huidige en afgelopen dagen toestaan. Hoe doe ik dat?
Deze opmerking is gemaakt door de moderator op de site
Hallo Miguel, Om de toekomstige dagen te beschermen, gelieve de onderstaande code toe te passen: Private Sub Worksheet_Change (ByVal-doel als Excel.Range)
'Bijwerken door' Extendoffice
Dim xRow zo lang
xRij = 2
ThisWorkbook.ActiveSheet.Unprotect Password:="111111"
ThisWorkbook.ActiveSheet.Cells.Locked = Onwaar
Doen tot ze leeg zijn(Cellen(xRij, 5))
Als Cellen (xRow, 5) > Datum Dan
Rijen (xRij). Vergrendeld = True
End If
xRij = xRij + 1
Ringleiding
ThisWorkbook.ActiveSheet.Protect Password:="111111"
End SubProbeer het eens, ik hoop dat het je kan helpen!
Er zijn nog geen reacties geplaatst
Laat uw commentaar
Posten als gast
×
Beoordeel dit bericht:
0   Personages
Voorgestelde locaties

Volg ons

Copyright © 2009 - www.extendoffice.com. | Alle rechten voorbehouden. Aangedreven door ExtendOffice. | Sitemap
Microsoft en het Office-logo zijn handelsmerken of gedeponeerde handelsmerken van Microsoft Corporation in de Verenigde Staten en / of andere landen.
Beschermd door Sectigo SSL