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

Wie schütze ich Zellen basierend auf dem Datum in Excel?

Normalerweise können wir das Arbeitsblatt schützen, um zu verhindern, dass andere die Zellenwerte bearbeiten oder ändern. Manchmal müssen Sie die Zellen jedoch basierend auf dem Datum schützen. Ich möchte beispielsweise andere Zellen schützen, aber nur zulassen, dass die Zellenwerte des heutigen Datums wie im folgenden Screenshot geändert werden. In diesem Artikel wird erläutert, wie Zellen basierend auf dem Datum geschützt werden.

doc schützen nach Datum 1

Schützen Sie alle Zeilen außer der heutigen Datumszeile mit VBA-Code

Schützen Sie alle Zeilen, deren Datum übergeben wurde, mit VBA-Code


Pfeil blau rechte Blase Schützen Sie alle Zeilen außer der heutigen Datumszeile mit VBA-Code

Lassen Sie nur zu, dass die Zeile geändert wird, die dem heutigen Datum entspricht. Der folgende Code kann Ihnen dabei helfen. Gehen Sie dazu folgendermaßen vor:

1. Klicken Sie mit der rechten Maustaste auf die Registerkarte "Blatt", auf der Sie die Zellen basierend auf dem Datum schützen möchten, und wählen Sie dann aus Code anzeigen aus dem Kontextmenü in der herausgesprungenen Microsoft Visual Basic für Applikationen Bitte kopieren Sie den folgenden Code und fügen Sie ihn in das leere Modul ein:

VBA-Code: Schützen Sie alle Zeilen mit Ausnahme der heutigen Datumszeile:

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 schützen nach Datum 2

Hinweis: Im obigen Code der Buchstabe E ist die Spaltenüberschrift, in der sich das Datum befindet. “111111”Ist das Passwort zum Schutz dieses Blattes. Sie können sie nach Ihren Wünschen ändern.

2. Speichern und schließen Sie dann dieses Codefenster.

(1.) Wenn Sie über die heutige Datumszeile hinaus auf andere Zellen klicken, wird ein Eingabeaufforderungsfeld angezeigt, das Sie daran erinnert, dass die Zelle nicht bearbeitet werden kann (siehe Abbildung):

doc schützen nach Datum 3

(2.) Wenn Sie auf die Zeile klicken und sie bearbeiten, die dem heutigen Datum entspricht, wird sie erfolgreich geändert (siehe Abbildung):

doc schützen nach Datum 4


Pfeil blau rechte Blase Schützen Sie alle Zeilen, deren Datum übergeben wurde, mit VBA-Code

Wenn Sie alle Zeilen schützen müssen, deren Datum verstrichen ist, lassen Sie nur die Änderung der heutigen und zukünftigen Datumszeilen zu. Wenden Sie den folgenden VBA-Code an:

1. Klicken Sie mit der rechten Maustaste auf die Registerkarte "Blatt", auf der Sie die Zellen basierend auf dem Datum schützen möchten, und wählen Sie dann aus Code anzeigen aus dem Kontextmenü in der herausgesprungenen Microsoft Visual Basic für Applikationen Bitte kopieren Sie den folgenden Code und fügen Sie ihn in das leere Modul ein:

VBA-Code: Alle Zeilen schützen Datum ist verstrichen:

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 schützen nach Datum 5

Hinweis: Im obigen Code die Nummer 5 ist die Spaltennummer, in der sich das Datum befindet. “111111”Ist das Passwort zum Schutz dieses Blattes. Sie können sie nach Ihren Wünschen ändern.

3. Speichern und schließen Sie dann dieses Codefenster.

(1.) Wenn Sie auf das Datum klicken, an dem die Zelle verstrichen ist, wird ein Eingabeaufforderungsfeld angezeigt, das Sie daran erinnert, dass die Zelle nicht bearbeitet werden kann. Siehe Screenshot:

doc schützen nach Datum 6

(2.) Wenn Sie auf die Zeilenzelle klicken, um zu versuchen, die Werte im heutigen oder zukünftigen Datum zu ändern, wird sie erfolgreich geändert (siehe Abbildung):

doc schützen nach Datum 7


Die besten Tools für die Office-Produktivität

Kutools for Excel löst die meisten Ihrer Probleme und erhöht Ihre Produktivität um 80%

  • Wiederverwendung: Schnell einfügen komplexe Formeln, Diagramme und alles, was du vorher benutzt hast; Zellen verschlüsseln mit Passwort; Mailingliste erstellen und E-Mails senden ...
  • Super Formelriegel (leicht mehrere Textzeilen und Formeln bearbeiten); Layout lesen (leichtes Lesen und Bearbeiten einer großen Anzahl von Zellen); In gefilterten Bereich einfügen...
  • Zellen / Zeilen / Spalten zusammenführen ohne Daten zu verlieren; Inhalt geteilter Zellen; Kombinieren Sie doppelte Zeilen / Spalten... doppelte Zellen verhindern; Bereiche vergleichen...
  • Wählen Sie Duplizieren oder Eindeutig Reihen; Wählen Sie Leere Zeilen (alle Zellen sind leer); Super Find und Fuzzy Find in vielen Arbeitsmappen; Zufällige Auswahl ...
  • Exakte Kopie Mehrere Zellen ohne Änderung der Formelreferenz; Referenzen automatisch erstellen zu mehreren Blättern; Aufzählungszeichen einfügen, Kontrollkästchen und mehr ...
  • Text extrahieren, Text hinzufügen, Nach Position entfernen, Leerzeichen entfernen;; Paging-Zwischensummen erstellen und drucken; Inhalt und Kommentare zwischen Zellen konvertieren...
  • Superfilter (Speichern und Anwenden von Filterschemata auf andere Blätter); Erweiterte Sortierung nach Monat / Woche / Tag, Häufigkeit und mehr; Spezialfilter fett, kursiv ...
  • Kombinieren Sie Arbeitsmappen und Arbeitsblätter;; Tabellen basierend auf Schlüsselspalten zusammenführen; Daten in mehrere Blätter aufteilen; Batch-Konvertierung von xls, xlsx und PDF...
  • Mehr als 300 leistungsstarke Funktionen. Unterstützt Office / Excel 2007-2021 und 365. Unterstützt alle Sprachen. Einfache Bereitstellung in Ihrem Unternehmen oder Ihrer Organisation. 30-tägige kostenlose Testversion mit allen Funktionen. 60 Tage Geld-zurück-Garantie.
kte tab 201905

Office Tab Bringt die Oberfläche mit Registerkarten in Office und erleichtert Ihnen die Arbeit erheblich

  • Aktivieren Sie das Bearbeiten und Lesen von Registerkarten in Word, Excel und PowerPoint, Publisher, Access, Visio und Project.
  • Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters und nicht in neuen Fenstern.
  • Steigert Ihre Produktivität um 50 % und reduziert jeden Tag Hunderte von Mausklicks für Sie!
officetab unten
Kommentare (30)
Noch keine Bewertungen. Bewerten Sie als Erster!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Schlupfloch: Das Passwort kann von anderen Personen mit der Option „Code anzeigen“ eingesehen werden.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
funktioniert nicht, da alle Zellen die Nachricht anzeigen, aber bearbeitet werden können
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hi, ist es möglich, Spalten nach dem Datum direkt über den Spalten zu sperren?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Private Sub worksheet_Change(ByVal Target As Range)

'Etwas abonnieren http://youtube.com/excel10tutorial

„Unterstütze den Kanal mit einer Spende weiter http://patreon.com/excel10tutorial

Dim col As Bereich

'Stellen Sie hier den korrekten Blattnamen ein:

Mit ThisWorkbook.Sheets("AGOSTO-22")

.Schutz von "ABCDE" aufheben

Für jede Spalte in .UsedRange.Columns

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

Nächste Spalte

.Schützen Sie "ABCDE"

.EnableSelection = xlNoRestrictions

Ende mit

End Sub
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo, ist es möglich, bestimmte Zellen abhängig vom Datum zu sperren, das direkt darüber in einer Spalte steht?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo Luise,
Kannst du dein Problem genauer beschreiben? Oder Sie können einen Screenshot als Ihr Problem anhängen.
Vielen Dank!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo skyyang

Ja hier ist ein Screenshot. Hoffe das hilft.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hier ist es.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo Lucis,
Wollen Sie die Spalten sperren, deren Datum vergangen ist, und nur die Spalten des heutigen und zukünftigen Tages geändert werden können?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Richtig! Wie würde ich das angehen?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo Luis,
Wie wäre es mit der Datumszelle in A1? Wird es manuell eingegeben oder mit einer Formel =jetzt() eingegeben? Wenn es sich um eine Formelzelle handelt, werden die gesperrten Spalten mit den Datumsänderungen geändert.
Ich freue mich auf deine Antwort!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo Skyyang

Ja, die Zelle A1 hat die =now()-Formel.

danke!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo.....


Ich verwende den Code zum Schützen aller Zeilen außer der heutigen Datumszeile ........



Private Sub Worksheet_SelectionChange (ByVal-Ziel als Bereich)
'Updateby Extendoffice 20161025
If Range("A" & Selection.Row).Value <> Date Then
ActiveSheet.Protect-Passwort: = "111111"
MsgBox "Nur die heutige Datumszeile kann bearbeitet werden!", vbInformation, "Kutools for Excel"
ElseIf Range("E" & Selection.Row).Value = Date Then
ActiveSheet.Unprotect Password:="111111"
ActiveSheet.EnableSelection = xlNoRestrictions
End If
End Sub


Nachdem ich i gespeichert und auf die Zelle geklickt habe, bekomme ich eine Nachricht, dass nur die heutige Datumszeile bearbeitet werden kann .... aber wenn ich auf die Zelle doppelklicke, kann ich sie bearbeiten ... pls help
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Das funktioniert super. aber wie kann ich es ändern, um eine Spalte basierend auf Daten in Zeile 3 zu entsperren?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Würden Sie als jemand, der relativ neu in VBA ist, etwas dagegen haben, zu erklären, warum xRow = 2 in Zeile 4?



Vielen Dank
Dieser Kommentar wurde vom Moderator auf der Website minimiert
denn in Reihe Nr. 1 Sie haben Kopfzeile
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo,

Beim Ausführen dieses Codes erhalte ich einen Fehler, wie in der Abbildung gezeigt
Außerdem hänge ich einen Schnappschuss meines Excel an, wo ich Änderungen vornehmen möchte.

Können Sie in meinem Code angeben, wo ich Änderungen gemäß meiner Excel-Datei vornehmen soll, damit Zellen, die nur das heutige und zukünftige Datum enthalten, bearbeitet werden können?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo Karan,
Da in Ihrer Tabelle verbundene Zellen vorhanden sind, kann der obige Code in der Tabelle mit verbundenen Zellen nicht korrekt angewendet werden.
Wenn Sie weitere gute Ideen haben, kommentieren Sie bitte hier. Danke!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo, ich habe versucht, dasselbe zu tun, aber alle Spalten außer der heutigen Datumsspalte mit VBA-Code zu schützen, indem ich "Selection.Row" durch "Selection.Columns" und "E" durch "5" (Zeilennummer mit Datumsangaben) ersetzt habe, aber Ich erhalte ständig den Fehler 1004!

Irgendwelche Hilfe bitte?

Vielen Dank.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo, ich habe versucht, dasselbe zu tun, aber alle Spalten außer der heutigen Datumsspalte mit VBA-Code zu schützen, indem ich "Selection.Row" durch "Selection.Columns" und "E" durch "5" (Zeilennummer mit Datumsangaben) ersetzt habe, aber Ich erhalte ständig den Fehler 1004!

Irgendwelche Hilfe bitte?

Vielen Dank.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo,
Um diesen Code auf Spalten anzuwenden, die Sie benötigen, verwenden Sie bitte den folgenden VBA-Code: (Hinweis: Im Code ist 5 die Zeilennummer, die das Datum enthält, bitte ändern Sie es nach Bedarf.)

Private Sub Worksheet_SelectionChange (ByVal-Ziel als Bereich)
Dim xRg als Bereich
Setze xRg = Target.Worksheet.Cells(5, Target.Column)
Wenn xRg <> Datum Dann
ActiveSheet.Protect-Passwort: = "111111"
MsgBox "Nur die heutige Datumszeile kann bearbeitet werden!", vbInformation, "Kutools for Excel"
ElseIf xRg.Value = Date Then
ActiveSheet.Unprotect Password:="111111"
ActiveSheet.EnableSelection = xlNoRestrictions
End If
End Sub

Bitte versuchen Sie es, ich hoffe, es kann Ihnen helfen!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Danke! Entschuldigung, ich habe Ihre Antwort bis jetzt nicht erhalten, es könnte ein Problem mit meiner E-Mail sein.

Es funktionierte! Ich kann gar nicht genug Danke sagen! Ich weiß das wirklich sehr zu schätzen!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo,
Schön, dass es dir helfen kann!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo,

Ich versuche, dies zu erweitern, um Spalten zu schützen, die diesen aktuellen Monat oder/und diese aktuelle Woche nicht enthalten. Ich habe versucht, "Datum" durch "Monat" oder "Woche" zu ersetzen, aber es hat nicht funktioniert.

Ich habe ein Beispielblatt für Wochen beigefügt, in dem der Benutzer keine anderen Spalten als diese Woche bearbeiten oder eingeben kann.

Irgendwelche Ratschläge dazu? oder soll ich tatsächliche Daten verwenden, um einen Tag im Monat widerzuspiegeln?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Danke für deine Hilfe, vielen Dank Kumpel, es ist eine große Hilfe. und löste meine Spannung.
Seien Sie sicher
GrüßeRohit Khanna
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo, ich stehe vor einem Problem, sobald ich die Datei schließe und sie am selben Datum wieder öffne, funktioniert der Code nicht. Bitte helfen Sie mir, ich stecke fest
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo rohit,
Um den Code beizubehalten, sollten Sie Ihre Arbeitsmappe im Excel-Arbeitsmappenformat mit Makros speichern, bitte versuchen Sie es, danke!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo, ich habe es getan, aber wenn ich auf die Zelle drücke, wird angezeigt, dass sie nicht bearbeitet werden kann, aber wenn ich auf die Tastatur drücke, kann ich immer noch in die Zelle schreiben
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo, ich möchte zukünftige Tage schützen und die Bearbeitung aktueller und vergangener Tage ermöglichen. Wie mache ich das?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo, Miguel, um die zukünftigen Tage zu schützen, wenden Sie bitte den folgenden Code an: Private Sub Worksheet_Change(ByVal Target As Excel.Range)
'Updateby Extendoffice
Dim xRow As Long
xReihe = 2
ThisWorkbook.ActiveSheet.Unprotect Password:="111111"
ThisWorkbook.ActiveSheet.Cells.Locked = False
Tun, bis leer ist (Cells (xRow, 5))
If Cells(xRow, 5) > Date Then
Zeilen(xRow).Locked = True
End If
xRow = xRow + 1
Loop
ThisWorkbook.ActiveSheet.Protect Passwort: = "111111"
End SubBitte versuchen Sie es, ich hoffe, es kann Ihnen helfen!
Es sind noch keine Kommentare vorhanden
Hinterlassen Sie Ihre Kommentare
Als Gast posten
×
Bewerte diese Nachricht:
0   Figuren
Vorgeschlagene Standorte

Folgen Sie uns

Copyright © 2009 - www.extendoffice.com. | Alle Rechte vorbehalten. Unterstützt von ExtendOffice. | Sitemap
Microsoft und das Office-Logo sind Marken oder eingetragene Marken der Microsoft Corporation in den USA und / oder anderen Ländern.
Geschützt durch Sectigo SSL