Hallo,
mal wieder ein Excel-Problem:
ich habe eine Tabelle mit diversen Tabellenblättern.
Zum Schutz einiger Daten sind teils ganze Tabellenblätter und auch Spalten mit einem Schutz versehen,
Mein Makro (der Arbeitsmappe) funktioniert dadurch leider nicht mehr. Auch das Einfügen von
ActiveSheet.Unprotect
ActiveShett.Protect
löst mein Problem nicht (an falscher Stelle eingefügt ???)
Hier das Makro:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
ActiveSheet.Unprotect
Application.EnableEvents = False
If Target.Column = 10 Then
With ThisWorkbook.Worksheets(Sh.Index)
zeile = ThisWorkbook.Worksheets("Behandlungen").Range("A" & Rows.Count).End(xlUp).Row + 1
ThisWorkbook.Worksheets("Behandlungen").Range("A" & zeile) = .Range("O3")
ThisWorkbook.Worksheets("Behandlungen").Range("B" & zeile) = .Range("O4")
.Range("A" & Target.Row & ":G" & Target.Row).Copy
ThisWorkbook.Worksheets("Behandlungen").Range("C" & zeile).PasteSpecial Paste:=xlValues, Operation:=xlNone
End With
Application.CutCopyMode = False
End If
Application.EnableEvents = True
ActiveSheet.Protect
End Sub
Erwähnen sollte ich noch:
Es gibt noch 2 weitere Makros (im Modul), die dafür sorgen den Schutz mit einem Klick aufzuheben, beeinflussen diese evtl. das obrige Makro ??
Sub Alle_Arbeitsblätter_schützen()
Dim s
Dim Name As Variant
Name = ActiveSheet.Name
Application.ScreenUpdating = False
For s = 1 To Sheets.Count
Sheets(s).Select
ActiveSheet.Protect
Next s
Sheets(Name).Select
Application.ScreenUpdating = True
End Sub
Sub Alle_Arbeitsblätter_Schutz_aufheben()
Dim s
Dim Name As Variant
Name = ActiveSheet.Name
Application.ScreenUpdating = False
For s = 1 To Sheets.Count
Sheets(s).Select
ActiveSheet.Unprotect
Next s
Sheets(Name).Select
Application.ScreenUpdating = True
End Sub
Bin für jede Hilfe dankbar ....
Viele Grüße - Petra