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

Forumthread: Vba Blattschutz mit Objekte bearbeiten

Vba Blattschutz mit Objekte bearbeiten
13.01.2020 07:13:28
Marco
Guten Tag zusammen,
ich hoffe ich stelle die Frage nicht zu 1000.mal 😅
Auf meinem gesperrten arbeitsblatt möchte ich zulassen, dass "Objekte kopieren" also Bilder einfügen möglich ist. Bisher habe ich hinbekommen, dass sich mit einem doppelklick die Zeile in gewünschter Farbe füllt und mit erneutem doppelklick wieder in die ursprüngliche Farbe zurück geht. Wenn ich mein arbeitsblatt sperre und das Häkchen bei "Objekte bearbeiten" zulassen setze funktioniert es bis zum ersten ausführen des vba... Im Anschluss wird der blattschutz aber wieder so aktiviert, dass ich keine Sachen mehr einfügen kann. Darüber hinaus möchte ich, dass das ganze nur auf einen bestimmten Bereich und nicht auf das ganze arbeitsblatt angewendet wird Ich hoffe es kann mir jemand helfen und bedanke mich schonmal im voraus.
Der Code lautet bisher wie folgt...

Private Sub worksheet_beforedoubleclick(byval target as Ränge, cancel as boolean)
Activesheet. Unprotect "pw"
If target. Interior. Color = rgb () then
Target. Interiorcolor=rgb ()
Else
Target. Interior. Color = rgd ()
End if
Cancel = true
Activesheet. Protected "pw"
End Sub

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Vba Blattschutz mit Objekte bearbeiten
13.01.2020 07:52:51
Regina
Hi,
um Objekte wieder zu zulassen, musst Du den Protect-Befehl einen Parameterwert mitgeben:
ActiveSheet.Protect DrawingObjects:=False Password:="pw"
Das auf Zellbereiche zu beschränken ist meines Wissens nicht möglich, da Objekte nicht an Zellen gebunden sind. Aber da weiß evtl. jemand anderes mehr.
Gruß Regina
Anzeige
AW: Vba Blattschutz mit Objekte bearbeiten
13.01.2020 09:43:40
Marco
Viele Dank für die schnelle Hilfe, allerdings funktioniert es nicht wirklich.
Mit beschränken meinte ich die Färbung der Zellen. Der blattschutz soll auf den ganzen Blatt bestehen bleiben.
AW: Vba Blattschutz mit Objekte bearbeiten
18.01.2020 09:26:17
Hajo_Zi
lasse bei Schutz Objekte bearbeiten zu.

;
Anzeige
Anzeige

Infobox / Tutorial

Blattschutz in Excel: Objekte bearbeiten mit VBA


Schritt-für-Schritt-Anleitung

Um den Blattschutz in Excel zu aktivieren und gleichzeitig das Bearbeiten von Objekten zu ermöglichen, kannst du folgenden VBA-Code verwenden. Dies ermöglicht es dir, Objekte wie Bilder einzufügen, während der Rest des Blattes geschützt bleibt.

  1. Öffne dein Excel-Dokument.
  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.
  3. Wähle das Arbeitsblatt aus, auf dem du den Blattschutz anwenden möchtest.
  4. Füge den folgenden Code in das Code-Fenster ein:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    ActiveSheet.Unprotect "pw" ' Passwort für den Blattschutz
    If Target.Interior.Color = RGB(255, 255, 255) Then
        Target.Interior.Color = RGB(0, 255, 0) ' Ändere die Farbe bei Doppelklick
    Else
        Target.Interior.Color = RGB(255, 255, 255) ' Farbe zurücksetzen
    End If
    Cancel = True
    ActiveSheet.Protect "pw", DrawingObjects:=False ' Blattschutz aktivieren und Objekte bearbeiten erlauben
End Sub
  1. Schließe den VBA-Editor und kehre zu deinem Arbeitsblatt zurück.
  2. Aktiviere den Blattschutz über die Registerkarte „Überprüfen“ und setze das Häkchen bei „Objekte bearbeiten“.

Häufige Fehler und Lösungen

  • Fehler: Nach dem Aktivieren des Blattschutzes kann kein Objekt mehr eingefügt werden.
    Lösung: Stelle sicher, dass du DrawingObjects:=False im Protect-Befehl angibst.

  • Fehler: Der Code funktioniert nicht wie erwartet.
    Lösung: Überprüfe, ob das Passwort korrekt angegeben ist und ob der Code im richtigen Arbeitsblattmodul eingefügt wurde.


Alternative Methoden

Falls du den Blattschutz ohne VBA setzen möchtest, kannst du dies manuell tun:

  1. Gehe zur Registerkarte „Überprüfen“.
  2. Klicke auf „Blatt schützen“.
  3. Setze das Häkchen bei „Objekte bearbeiten“ und gib ein Passwort ein, um den Schutz zu aktivieren.

Diese Methode bietet jedoch nicht die Flexibilität eines VBA-Codes.


Praktische Beispiele

Wenn du beispielsweise nur einen bestimmten Bereich für das Bearbeiten von Objekten freigeben möchtest, kannst du den VBA-Code anpassen. Hier ist ein Beispiel:

If Not Intersect(Target, Range("A1:B10")) Is Nothing Then
    ' Nur in den Zellen A1 bis B10 die Farbe ändern
    ActiveSheet.Unprotect "pw"
    ' ... (Farbwechsel-Code)
    ActiveSheet.Protect "pw", DrawingObjects:=False
End If

In diesem Fall wird der Blattschutz nur für den Bereich A1:B10 angepasst.


Tipps für Profis

  • Nutze das Worksheet_Change-Ereignis, um dynamisch auf Änderungen in deinem Arbeitsblatt zu reagieren.
  • Setze Kommentare in deinen VBA-Code, um ihn später leichter nachvollziehbar zu machen.
  • Teste immer den Code in einer Kopie deines Dokuments, um unerwünschte Änderungen zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich den Blattschutz wieder aufheben?
Du kannst den Blattschutz aufheben, indem du zur Registerkarte „Überprüfen“ gehst und „Blattschutz aufheben“ wählst. Gib das Passwort ein, falls erforderlich.

2. Kann ich den Blattschutz auch für bestimmte Benutzer einschränken?
Ja, du kannst über den Blattschutz verschiedene Berechtigungen festlegen. Dies erfordert jedoch eine erweiterte VBA-Programmierung.

3. Was passiert mit meinen Makros, wenn ich den Blattschutz aktiviere?
Makros sollten weiterhin funktionieren, solange sie nicht direkt auf die geschützten Bereiche zugreifen. Achte darauf, den Blattschutz im VBA-Code entsprechend zu entsperren, bevor du auf geschützte Zellen zugreifst.

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