Zellenschutz nur für Formeln, die VBA in Microsoft Excel verwenden

Anonim

In diesem Artikel verwenden wir das Änderungsereignis des Arbeitsblatts, um Zellen zu schützen, die Formeln enthalten.

Rohdaten bestehen aus Mitarbeiterverkaufsdaten, die eine Aufteilung nach Monat und Jahr beinhalten.

Wir möchten den Gesamtumsatz sowohl nach Monat als auch nach Jahr ermitteln.

Wir haben die Summenfunktion verwendet, um den Gesamtumsatz auf monatlicher und jährlicher Basis zu berechnen. Das Änderungsereignis des Arbeitsblatts wird verwendet, um Zellen zu schützen, die Formeln enthalten. Wenn wir versuchen, eine Zelle mit einer Formel zu bearbeiten, erhalten wir eine Popup-Meldung, die besagt, dass der Zellenwert nicht geändert werden kann.

Codeerklärung

rng.HasFormula

Die HasFormula-Methode gibt True zurück, wenn eine Zelle eine Formel enthält. Andernfalls wird False zurückgegeben.

ActiveSheet.Protect

Der obige Code wird verwendet, um eine Zelle zu schützen.

Notiz: Eine Zelle wird nur geschützt, wenn sie gesperrt ist. Bevor eine Zelle geschützt wird, muss sie also gesperrt werden.

ActiveSheet.Unprotect

Der obige Code wird verwendet, um den Schutz einer Zelle aufzuheben.

Bitte folgen Sie unten für den Code

 'Unten Code im Arbeitsblattmodul hinzufügen Option Explicit Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim rng As Range For Every rng In Target.Cells If rng.HasFormula Then ActiveSheet.Protect Else ActiveSheet.Unprotect End If Next rng End Sub 

Wenn Ihnen dieser Blog gefallen hat, teilen Sie ihn mit Ihren Freunden auf Facebook. Außerdem können Sie uns auf Twitter und Facebook folgen.

Wir würden uns freuen, von Ihnen zu hören, lassen Sie uns wissen, wie wir unsere Arbeit verbessern und für Sie verbessern können. Schreiben Sie uns auf der E-Mail-Site