Anzeige
Archiv - Navigation
1544to1548
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

Bei Ausführung Code vorher/hinterher (ent)sperren

Bei Ausführung Code vorher/hinterher (ent)sperren
28.02.2017 20:36:44
Simon
Hallo zusammen,
Hajo hat mir diesen tollen Code formuliert:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 3 And UCase(Target) = "ERLEDIGT" Then
Application.EnableEvents = False
With Worksheets("Tabelle2")
.Rows("2:2").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Rows(Target.Row).Copy .Rows(2)
Rows(Target.Row).Delete
End With
Application.EnableEvents = True
End If
End Sub
Kurz beschrieben: Wenn in "Tabelle1" in Spalte 3 der Status "Erledigt" gesetzt wird, dann wird die gesamte Zeile in "Tabelle2" verschoben. "Tabelle2" soll eine Art Archiv darstellen.
Mein Problem ist nun, dass wenn ich bei Tabellenblatt "Tabelle2" den Blattschutz aktiviere (da dort nur noch gelesen werden soll), dann funktioniert der o. g. Code natürlich nicht mehr.
Könnte man den Code irgendwie ergänzen, dass der Blattschutz vor dem eigentlichen Code kurz aufgehoben wird und nach Beendigung des Codes wieder gesetzt wird?
Viele Grüße, Simon

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bei Ausführung Code vorher/hinterher (ent)sperren
28.02.2017 20:54:31
Werner
Hallo Simon,
With Worksheets("Tabelle2")
.Unprotect Password:="DeinPasswort"
.Rows("2:2").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Rows(Target.Row).Copy .Rows(2)
Rows(Target.Row).Delete
.Protect Password:="DeinPasswort"
End With
Gruß Werner
AW: Bei Ausführung Code vorher/hinterher (ent)sperren
28.02.2017 21:04:24
Simon
Vielen Dank!!! :-)
Gerne u. Danke für die Rückmeldung. o.w.T.
01.03.2017 10:15:30
Werner
AW: Gerne u. Danke für die Rückmeldung. o.w.T.
01.03.2017 13:14:17
Simon
Könnte man noch irgendwie einbauen, dass man vor dem Verschieben der Zeile noch einmal z. B. über eine MsgBox sein Vorhaben bestätigen muss?
Denn wenn der Code ausgeführt wurde, gibt es ja keinn Zurück mehr.
AW: Gerne u. Danke für die Rückmeldung. o.w.T.
01.03.2017 13:30:00
Werner
Hallo Simon,
aber sicher doch..
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 3 And UCase(Target) = "ERLEDIGT" Then
Application.EnableEvents = False
With Worksheets("Tabelle2")
If MsgBox("Wollen Sie die Zeile wirklich verschieben?", _
vbYesNo + vbQuestion, "Sicherheitsabfrage") = vbYes Then
.Unprotect Password:="DeinPasswort"
.Rows("2:2").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Rows(Target.Row).Copy .Rows(2)
Rows(Target.Row).Delete
.Protect Password:="DeinPasswort"
Else
End If
End With
Application.EnableEvents = True
End If
End Sub
Gruß Werner
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige