Makro Blattschutz aus / ein

Bild

Betrifft: Makro Blattschutz aus / ein
von: Hans
Geschrieben am: 13.05.2015 08:18:59

Guten Morgen,
ich habe folgendes problem. Ich möchte aus einem Blatt eine Zeile in ein anderes Blatt kopieren, welches aber geschützt ist. Das Makro soll den Schutz jedoch aufheben und nachher wieder drauf tun. Funktioniert nur leider nicht so. Wo liegt mein Fehler? vielen Dank im voraus.
Set ws = ActiveSheet
Dim IDvalue As Variant
Range("E60:BY60").Select
Selection.Copy
Sheets("Project_sheet").Select
Sheets("Project_sheet").Unprotect
Range("C9").Select
Selection.End(xlDown).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.DisplayAlerts = False
Application.CutCopyMode = False
ws.Delete
Selection.RowHeight = 15
' lösche zeileninhalt C3
Dim X As Range
Set X = Columns(3).Find(Range("C3").Value, after:=Range("C8"), LookIn:=xlValues, lookat:= _
xlWhole, MatchCase:=True)
If Not X Is Nothing Then If X.Row > 8 Then X.EntireRow.Delete shift:=xlShiftUp
Application.DisplayAlerts = True
Sheets("Project_sheet").Select.Protect
End Sub

Bild

Betrifft: AW: Makro Blattschutz aus / ein
von: Rolf H.
Geschrieben am: 13.05.2015 08:29:04
Hallo Hans,
Versuchs mal so:
Sheets("Project_sheet").UnprotectPassword:="Hans"
Sheets("Project_sheet").Select.ProtectPassword:="Hans"
Gruß Rolf

Bild

Betrifft: AW: Makro Blattschutz aus / ein
von: UweD
Geschrieben am: 13.05.2015 08:58:15
Hallo
Wenn das Blatt so geschützt wird, dann sind Änderungen per Makro trotzdem möglich.
Du musst es also vorher nicht entsperren.

ActiveSheet.Protect UserInterfaceOnly:=True

Außerdem kann in den meisten Fällen auf select verzichtet werden.
Sub hdhs()
    Dim ws
    On Error GoTo Fehler
    Set ws = ActiveSheet
    ws.Range("E60:BY60").Copy
    Sheets("Project_sheet").Range("C9").End(xlDown).Offset(1, 0).PasteSpecial Paste:= _
xlPasteValues, _
        Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Application.DisplayAlerts = False
    ws.Delete
    Selection.RowHeight = 15
    Dim X As Range
    Set X = Columns(3).Find(Range("C3").Value, after:=Range("C8"), LookIn:=xlValues, lookat:= _
        xlWhole, MatchCase:=True)
    If Not X Is Nothing Then If X.Row > 8 Then X.EntireRow.Delete shift:=xlShiftUp
Fehler:
    Application.DisplayAlerts = True
End Sub
Gruß UweD

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Makro Blattschutz aus / ein"