Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Makro zum Sperren von Zellen

Makro zum Sperren von Zellen
27.08.2018 08:59:15
Zellen
Guten Morgen Zusammen,
ich bräuchte einmal mehr eure Hilfe.
Ich benötige ein Makro, mit dem ich bestimmte Zellen unter der Voraussetzung bestimmter Bedingungen für eine Eingabe sperren kann.
Genauer ausgeführt habe ich eine Tabelle, in der in Zelle D13 eine Dropdown Liste ist, in der die Werte 1 - 8 ausgewählt werden können. Diese sollen die Zellen D44 - D51 beeinflussen, d.h. wird in Zelle D13 eine 1 eingegeben soll nur die Zelle D44 bearbeitbar sein (die restlichen gesperrt), wird eine 2 ausgewählt soll nur die Zelle D45 bearbeitbar sein und die restlichen gesperrt usw... bis zu dem Wert 8 bei dem nur die Zelle D51 bearbeitet werden darf.
Mit einer Datenüberprüfung kann ich in diesen Zellen nicht arbeiten, da diese erneut jeweils aus Dropdown Listen bestehen. Deswegen meine Frage gibt es dazu eine andere Lösung?
Vielen Dank schonmal!
Fabian
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro zum Sperren von Zellen
27.08.2018 09:03:15
Zellen
Hallo Fabian,
so:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "D13" Then
Unprotect
Range("D44:D51").Locked = True
Cells(Target.Value + 43, 4).Locked = False
Protect
End If
End Sub
Code ins Codemodul des Arbeitsblattes auf dem er sich auswirken soll.
Rechtsklick auf den Blattreiter - Code anzeigen - Code rechts ins Codefenster kopieren
Vorher natürlich die Zellen D44-D51 sperren und das Blatt schützen.
Gruß Werner
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Makro zum Sperren von Zellen in Excel


Schritt-für-Schritt-Anleitung

Um bestimmte Zellen in Excel zu schützen und nur unter bestimmten Bedingungen bearbeitbar zu machen, kannst du ein VBA-Makro verwenden. Folge diesen Schritten:

  1. Öffne den Visual Basic-Editor: Klicke mit der rechten Maustaste auf den Blattreiter des Arbeitsblattes, auf dem du das Makro anwenden möchtest, und wähle „Code anzeigen“.

  2. Füge den folgenden Code ein: Kopiere den untenstehenden VBA-Code und füge ihn in das Codefenster ein.

    Private Sub Worksheet_Change(ByVal Target As Range)
       If Target.Address(0, 0) = "D13" Then
           Unprotect
           Range("D44:D51").Locked = True
           Cells(Target.Value + 43, 4).Locked = False
           Protect
       End If
    End Sub
  3. Sperre die Zellen D44 bis D51: Stelle sicher, dass die Zellen D44 bis D51 im Voraus gesperrt sind. Gehe dazu auf „Format“ > „Zellen formatieren“ > „Schutz“ und aktiviere das Kontrollkästchen „Gesperrt“.

  4. Schütze das Blatt: Nach dem Hinzufügen des Codes musst du das Arbeitsblatt schützen, damit die Zellen tatsächlich gesperrt sind.

  5. Teste das Makro: Wähle in der Dropdown-Liste in Zelle D13 einen Wert von 1 bis 8 aus und überprüfe, ob nur die entsprechende Zelle (D44 bis D51) bearbeitbar ist.


Häufige Fehler und Lösungen

  • Fehler: Das Makro funktioniert nicht.

    • Lösung: Stelle sicher, dass das Blatt geschützt ist und dass das Makro im richtigen Arbeitsblattmodul eingefügt wurde.
  • Fehler: Zellen werden nicht gesperrt.

    • Lösung: Überprüfe, ob du die Zellen D44 bis D51 tatsächlich gesperrt hast, bevor du das Blatt schützt.

Alternative Methoden

Wenn du keine Makros verwenden möchtest, kannst du auch folgende Methoden in Betracht ziehen:

  • Datenüberprüfung: Nutze die Funktion „Datenüberprüfung“, um die Eingaben in D44 bis D51 zu steuern. Diese Methode ist jedoch eingeschränkt, da sie keine komplexen Bedingungen wie im Makro ermöglicht.

  • Formeln: Du kannst auch Formeln verwenden, um den Inhalt der Zellen abhängig von D13 zu ändern, jedoch bleibt die Bearbeitbarkeit der Zellen bestehen.


Praktische Beispiele

Ein häufiges Szenario ist, wenn du eine Umfrage oder Eingabemaske erstellst. Mit dem oben genannten Makro kannst du sicherstellen, dass die Benutzer nur die Zellen bearbeiten, die für ihre Auswahl relevant sind, was die Dateneingabe vereinfacht und Fehler vermeidet.


Tipps für Profis

  • Verwende Kommentare im VBA-Code, um die Funktionalität zu dokumentieren und den Code für andere Benutzer verständlich zu machen.

  • Teste das Makro in einer Kopie deiner Datei, um sicherzustellen, dass keine ungewollten Änderungen an den Originaldaten vorgenommen werden.

  • Aktualisiere regelmäßig deine Sicherheitsoptionen in Excel, um sicherzustellen, dass Makros sicher ausgeführt werden können.


FAQ: Häufige Fragen

1. Kann ich das Makro auch für andere Zellen verwenden? Ja, du kannst das Makro anpassen, indem du die Zellreferenzen im Code änderst.

2. Was passiert, wenn ich das Arbeitsblatt nicht schütze? Wenn das Arbeitsblatt nicht geschützt ist, können alle Zellen bearbeitet werden, auch die, die du schützen möchtest.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige