Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, fĂŒr Anwender
Vorheriger Thread
Vorheriger Thread
RĂŒckwĂ€rts BlĂ€ttern
1732to1736
1732to1736
Aktuelles Verzeichnis

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
Anzeige