Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1732to1736
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Is Nothing Then & Blattschutz

Is Nothing Then & Blattschutz
09.01.2020 15:45:42
Patric
Hallo zusammen,
vorab, wie immer, besten Dank für die Hilfe.
Ich hänge grade an einem Fehler mit dem Blattschutz und einem Makro.
Mit folgendem Makro erreiche, dass per Doppelklick ein X in die leere Zelle des angegebenen _ Bereiches eingetragen wird. Bei erneutem Doppelklick verschwindet das X wieder.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'Sub X per Doppelklick ausfüllen
'Januar
If Not Intersect(Range("C38:AG53"), Target) Is Nothing Then
Cancel = True
Target = IIf(Target = "X", "", "X")
End If
End Sub

Funktioniert auch soweit. Jetzt habe in dem Tabellenblatt den Blattschutz aktiviert.
Klicke ich in eine Zelle in dem angegebenen Bereich und versuche Sie zu beschreiben kommt die richtige Fehlermeldung zum Schreibschutz.
Klicke ich aber doppelt in eine Zelle aus dem Bereich und der Blattschutz ist aktiviert kommt der Laufzeitfehler 1004.
Wie kann ich denn das Erscheinen des Fehlers bei aktivem Blattschutz verhindern?
Grüße, Patric

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Is Nothing Then & Blattschutz
09.01.2020 16:19:08
volti
Hallo Patric,
möchtest Du lediglich keinen Fehler angezeigt bekommen und keine Veränderung im Feld zulassen, baust Du Dir einfach einen Fehlerabfang in Deinen Code ein.
Möchtest Du dieses Feld trotz Blattschutz zum Verändern zulassen, vorher Blattschutz rausnehmen und anschließend wieder ein. S. Muster unten:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'Sub X per Doppelklick ausfüllen
'Januar
   On Error GoTo Fehler
   If Not Intersect(Range("C38:AG53"), Target) Is Nothing Then
    Cancel = True
      Target = IIf(Target = "X", "", "X")
   End If
Fehler:
End Sub
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'Sub X per Doppelklick ausfüllen
'Januar
   If Not Intersect(Range("C38:AG53"), Target) Is Nothing Then
    Cancel = True
    ActiveSheet.Unprotect
    Target = IIf(Target = "X", "", "X")
    ActiveSheet.Protect
    End If
Fehler:
End Sub

viele Grüße
Karl-Heinz

Anzeige
AW: Is Nothing Then & Blattschutz
09.01.2020 18:09:04
Patric
hat perfekt geklappt. Die einfachste Lösung war schon die Beste.
Vielen Dank, Karl-Heinz.

294 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige