Zum Hauptinhalt springen

Wie kann ich verhindern, dass eine Zelle in Excel mit VBA bearbeitet wird

Microsoft Excel, eines der beliebtesten Tabellenkalkulationsprogramme, bietet viele Möglichkeiten für die einfache Datenverarbeitung. Eine dieser Funktionen ist die Verwendung der Programmiersprache VBA (Visual Basic for Applications), mit der Sie verschiedene Aktionen in Excel automatisieren können. In diesem Artikel erfahren Sie, wie Sie verhindern können, dass Zellen mit VBA bearbeitet werden.

Das Bearbeiten von Zellen kann ein nützliches Werkzeug zum Bearbeiten von Daten in einer Tabelle sein, aber in einigen Fällen ist es möglicherweise ratsam, den Zugriff auf bestimmte Zellen einzuschränken, um eine unbefugte Bearbeitung oder Löschung von Informationen zu verhindern. Wenn Sie beispielsweise eine Dokument- oder Berichtsvorlage erstellen, möchten Sie möglicherweise, dass Benutzer die Daten nur lesen, aber nicht ändern können.

Sie können die Methode verwenden, um zu verhindern, dass Zellen in Excel mit VBA bearbeitet werden Protect. Mit dieser Methode können Sie einen Schutz für die gesamte Arbeitsmappe, das Arbeitsblatt oder einzelne Zellen festlegen. Der Schutz kann verschiedene Optionen umfassen, z. B. das Verhindern von Zellbearbeitung, Formatierung, Löschen und anderen Vorgängen.

Beispiel für die Verwendung der Methode Protect um zu verhindern, dass eine Zelle bearbeitet wird, sieht es folgendermaßen aus:

Sub ProtectCell()

ActiveSheet.Range("A1").Locked = True

ActiveSheet.Protect

End Sub

Erstellen eines VBA-Makros in Excel

Befolgen Sie diese einfachen Schritte, um ein VBA-Makro in Excel zu erstellen:

Schritt 1: Öffnen Sie die Excel-Datei, in der Sie das Makro erstellen möchten.

Schritt 2: Klicken Sie im oberen Menü auf die Registerkarte "Entwickler". Wenn die Registerkarte Entwickler nicht sichtbar ist, müssen Sie sie aktivieren. Doppelklicken Sie dazu auf die Excel-Datei mit der Erweiterung .xlsm.

Schritt 3: Suchen Sie auf der Registerkarte "Entwickler" die Gruppe "Code" und klicken Sie auf die Schaltfläche "Makro".

Schritt 4: Klicken Sie im daraufhin angezeigten Fenster "Makros" auf die Schaltfläche "Neu".

Schritt 5: Erstellen Sie einen Namen für Ihr Makro und klicken Sie auf OK.

Nachdem Sie diese Schritte ausgeführt haben, öffnet Excel den VBA-Editor, in dem Sie Code für Ihr Makro schreiben können. Beachten Sie, dass VBA die Visual Basic-Programmiersprachen-Syntax verwendet, sodass Sie sie möglicherweise untersuchen müssen, um komplexe Makros zu erstellen.

Nachdem Sie den Code für Ihr Makro geschrieben haben, können Sie den VBA-Editor speichern und schließen. Ihr Makro ist als Befehl auf der Registerkarte Entwickler verfügbar. Um ein Makro auszuführen, wählen Sie es einfach aus der Liste aus und klicken Sie auf die Schaltfläche Ausführen.

Das Erstellen eines VBA-Makros in Excel ist eine großartige Möglichkeit, doppelte Vorgänge zu automatisieren und die Arbeit mit Tabellenkalkulationen zu vereinfachen.

Öffnen des Visual Basic-Editors

Um zu verhindern, dass eine Zelle in Excel mit VBA bearbeitet wird, müssen Sie den Visual Basic-Editor öffnen, um das entsprechende Makro zu schreiben. So öffnen Sie das Editor-Fenster:

Schritt 1:Öffnen Sie Excel und starten Sie die Registerkarte Entwicklung. Wenn die Registerkarte "Entwurf" nicht in der Multifunktionsleiste angezeigt wird, befolgen Sie die folgenden Anweisungen:
Schritt 2:Klicken Sie mit der rechten Maustaste auf die Multifunktionsleisten-Symbolleiste und wählen Sie Multifunktionsleiste anpassen. ".
Schritt 3:Klicken Sie im Dialogfeld Menübandoptionen auf die Registerkarte Hauptregisterkarten, und stellen Sie sicher, dass das Kontrollkästchen Entwurf aktiviert ist.
Schritt 4:Klicken Sie auf OK, um das Dialogfeld Menübandoptionen zu schließen und zu Excel zurückzukehren.
Schritt 5:Jetzt sollten Sie die Registerkarte "Entwicklung" in der Excel-Multifunktionsleiste sehen.
Schritt 6:Klicken Sie auf die Registerkarte "Entwicklung" und suchen Sie nach der Gruppe "Entwicklerversion". Klicken Sie in dieser Gruppe auf die Schaltfläche "Visual Basic".

Nachdem Sie diese Schritte ausgeführt haben, wird das Visual Basic-Editor-Fenster geöffnet, in dem Sie ein Makro schreiben können, in dem Sie verhindern können, dass eine Zelle in Excel mit VBA bearbeitet wird.

Schreiben von Code, um die Bearbeitung einer Zelle zu verhindern

Um zu verhindern, dass eine Zelle in Excel mit VBA bearbeitet wird, müssen Sie das Worksheet_SelectionChange-Ereignis verwenden. Dieses Ereignis wird jedes Mal ausgelöst, wenn ein Benutzer eine Zelle im Arbeitsblatt auswählt.

  1. Öffnen Sie den Visual Basic-Editor, indem Sie ALT + F11 drücken.
  2. Wählen Sie das gewünschte Arbeitsblatt im Projektfenster links neben dem Codefenster aus.
  3. Doppelklicken Sie auf das ausgewählte Arbeitsblatt, um das Codefenster für dieses Arbeitsblatt zu öffnen.
  4. Schreiben Sie den folgenden Code in das Codefenster für das Arbeitsblatt:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)' Запретить редактирование ячейки A1If Target.Address = "$A$1" ThenTarget.Locked = TrueMsgBox "Редактирование этой ячейки запрещено.", vbInformationEnd IfEnd Sub

In diesem Beispiel kann die Zelle A1 nicht bearbeitet werden. Wenn der Benutzer versucht, den Inhalt dieser Zelle zu ändern, wird eine Meldung mit Informationen zum Verbot angezeigt.

Um zu verhindern, dass andere Zellen bearbeitet werden, ändern Sie einfach die Adresse der Zelle in der If Target-Bedingung.Address = "$A$1" an die gewünschte Adresse.

Nachdem Sie den Code geschrieben haben, speichern Sie den Visual Basic-Editor, und schließen Sie ihn. Bei jeder Auswahl einer Zelle im ausgewählten Arbeitsblatt überprüft der Code die Adresse der ausgewählten Zelle und verhindert, dass sie bearbeitet wird, wenn die Adresse der Bedingung entspricht.

Anwenden von VBA-Code auf Zellen

Mithilfe von Makros können Sie verschiedene Aspekte der Arbeit mit Zellen anpassen, darunter das Verhindern der Bearbeitung, die Validierung von Daten, die Formatierung und vieles mehr.

Um ein Makro zu erstellen, öffnen Sie den Visual Basic für Applikationen (VBA) -Editor in Excel. Makros werden in VBA-Modulen gespeichert und können leicht aus einer Tabelle aufgerufen werden.

Der VBA-Beispielcode zum Verhindern der Bearbeitung einer Zelle sieht folgendermaßen aus:

Unter verbietet die Bearbeitung von Range() -Zellen("A1").Locked = True Sheets("Blatt1").Protect End Sub

In diesem Codebeispiel wird Zelle A1 in Blatt1 gesperrt, und dann wird Blatt1 durch ein Kennwort geschützt. Dies bedeutet, dass Benutzer den Inhalt dieser Zelle nicht ändern können, ohne das richtige Passwort einzugeben.

Darüber hinaus können Sie mit VBA andere Aspekte der Arbeit mit Zellen anpassen, z. B. Datenvalidierung, automatisches Ausfüllen, Kopieren und vieles mehr. All dies macht Excel mit VBA-Makros zu einem leistungsfähigen Werkzeug für die Datenverwaltung und die Automatisierung von Aufgaben.

Testen, ob eine Zelle nicht bearbeitet werden kann

Nachdem Sie VBA-Code geschrieben und angewendet haben, um zu verhindern, dass eine bestimmte Zelle in Excel bearbeitet wird, müssen Sie testen, ob sie ordnungsgemäß funktioniert. Sie können die folgende Vorgehensweise verwenden, um dies zu tun:

  1. Öffnen Sie die Excel-Datei, in der der Code angewendet wurde
  2. Zu der Zelle wechseln, die Sie überprüfen möchten
  3. Versuchen Sie, Änderungen am Zelleninhalt vorzunehmen, z. B. versuchen Sie, Text oder eine Zahl einzugeben
  4. Stellen Sie sicher, dass die vorgenommenen Änderungen nicht gespeichert werden und die Zelle unverändert bleibt

Wenn die vorgenommenen Änderungen beibehalten werden oder beim Versuch, eine Zelle zu bearbeiten, Fehler auftreten, kann dies auf eine falsche oder unvollständige Implementierung des Bearbeitungsverbots hinweisen. In diesem Fall müssen Sie die Schritte zum Schreiben und Anwenden des Codes wiederholen und sicherstellen, dass der Code in jedem zugeordneten VBA-Modul vorhanden und korrekt ist.

Nachdem Sie die Tests erfolgreich bestanden haben und überzeugt sind, dass der VBA-Code funktionsfähig ist, um die Bearbeitung einer Zelle zu verhindern, können Sie sicher sein, dass diese Funktionalität bei der späteren Verwendung der Excel-Datei ordnungsgemäß funktioniert. Durch Tests wird sichergestellt, dass Benutzer den Inhalt der protektorierten Zellen nicht versehentlich oder absichtlich ändern können, was besonders bei der Zusammenarbeit oder bei der Verwendung einer Datei als Vorlage nützlich sein kann.