Auswählen, aber nicht Bearbeiten eines Diagramms und von Datenschnitten in einem geschützten Excel-Blatt zulassen

Auswählen, aber nicht Bearbeiten eines Diagramms und von Datenschnitten in einem geschützten Excel-Blatt zulassen

Ich möchte eine Excel-Datei freigeben, die Slicer und Diagramme enthält. Ich möchte, dass Benutzer die Slicer zum Filtern verwenden und dann die Diagramme auswählen und kopieren können. Aber ich möchte das Blatt schützen und jegliche Bearbeitung des Diagramms und der Slicer verhindern.
Soweit ich sehe, bestehen die Optionen darin, die Diagramme und Slicer zu sperren. In diesem Fall sind sie nicht bearbeitbar, wenn das Blatt geschützt ist. Dann werden die Slicer jedoch eingefroren und das Diagramm kann nicht kopiert werden (Drucken ist keine Option). ODER sie zu entsperren. In diesem Fall werden sie verwendbar, aber bearbeitbar.
Gibt es eine Möglichkeit, dies zu umgehen?

Antwort1

Sie haben zwei Möglichkeiten. Eine Möglichkeit besteht darin, ein VBA-fähiges Arbeitsblatt zu verwenden und Ihre eigene Logik mithilfe von VBA hinzuzufügen. Dazu muss Ihr Blatt jedoch aktiviert sein xlsmund der Endbenutzer muss Makros in Ihrem Arbeitsbuch aktivieren. Auf diese Weise erhalten Sie jedoch die beste Kontrolle über die zulässigen Benutzeraktionen. Die zweite Möglichkeit ist mit xlsxVBA – Sie können dem Benutzer dort jedoch einige Aktionen nicht verweigern, z. B. das Löschen der Slicer oder das Ändern des Diagrammnamens.

1) Sie könnenwie hier empfohlen:

Private Sub Chart1_Click()     
    ActiveSheet.ChartObjects(1).CopyPicture
    MsgBox ("Chart copied to clipboard.  You can now paste this into another application.")        
End Sub

Das bedeutet, dass Sie Ihre Arbeitsmappe in eine XLSM-Arbeitsmappe mit Makros konvertieren müssen. Fügen Sie dann ein Makro hinzu, um die Zwischenablageaktion beim Klicken auf das Diagramm zu handhaben.

2) Der bessere Weg wäre meiner Meinung nach, das Diagrammelement auf dem geschützten Arbeitsblatt entsperrt zu lassen undÄndern Sie seine Eigenschaften mit einem Makro:

Sub macro()
ActiveChart.ProtectData = True
ActiveChart.ProtectFormatting = True
ActiveChart.ProtectSelection = False
End Sub

oder für alle Diagramme auf einem Blatt:

For Each i In ActiveSheet.ChartObjects
    i.Chart.ProtectSelection = False
    i.Chart.ProtectData = True
    i.Chart.ProtectFormatting = True 
Next i

Auf diese Weise verwenden Sie beim Erstellen der Arbeitsmappe Makros, die Arbeitsmappe selbst enthält jedoch kein VBA.

Wenn Sie für ein Diagramm ein eigenes Blatt erstellen, können Sie dieses separat mit einem Passwort schützen:

Sub macro()
Dim newChart As Chart

Range("C9:C11").Select
Set newChart = ActiveChart

With newChart
.Protect Password:="pwd", DrawingObjects:=True, Contents:=True
.ProtectData = True
.ProtectFormatting = True
.ProtectSelection = False
.ChartObjects(1).Chart.ProtectSelection = False

   'setting other properties
End With

End Sub

Was die Slicer betrifft, müssen Sie sie entsperrt lassen und beim Sperren des Arbeitsblatts „Pivottable-Berichte verwenden“ aktivieren.

Antwort2

Meinen Sie mit Bearbeiten nur die zugrunde liegenden Daten oder die Stile der Diagramme selbst?

Wenn Sie nur möchten, dass die Daten gesperrt werden, können Sie Ihre Daten auf dem geschützten Blatt haben (wo Sie auch die Verwendung von Pivots, Auswahl, Sortierung usw. zulassen können) und Ihre Diagramme auf einem anderen Blatt haben.

HierSie schlagen vor, ein Makro zu verwenden, das ein Diagramm per Klick kopiert. Dies können Sie verwenden, wenn das Blatt mit dem Diagramm ebenfalls geschützt ist.

Antwort3

Versuchen Sie, den schreibgeschützten Modus zu aktivieren. Ich glaube, es handelt sich dabei um eine Funktion von Excel (getrennt von der geschützten Ansicht), aber ich könnte mich irren.

verwandte Informationen