Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1352to1356
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

Blattschutz im Rahmen einer Routine

Blattschutz im Rahmen einer Routine
19.03.2014 13:39:27
Demant
Hallo alle zusammen,
ich habe eine Datei mit 23 Blättern.
In dieser Datei habe ich verschiedene Makros eingebaut.
Die ersten beiden - Blattschutz ein bzw. aus - laufen wunderbar für die ersten 13 Blätter, welche auch tatsächlich geschützt werden sollen.
Aber ich habe auch ein Makro, welches nur in den Blättern 4 bis 13 laufen soll, welches eingegebene Dezimalzahlen in Uhrzeiten wandelt. Leider läuft dieses aber auch in den Blätter 14 bis 23. Wie muss ich den unten angefügten Code umschreiben?
Sub Workbook_Open()
Dim i As Long
For i = 1 To 13
Sheets(i).Protect userinterfaceonly:=True, Password:="XY"
Sheets(i).EnableOutlining = True 'für Gliederung
Sheets(i).EnableAutoFilter = True 'für Autofilter
Next i
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim RaBereich As Range, RaZelle As Range
Dim InS As Integer
Dim InM As Integer
If Sh.Index > 1 And Sh.Index  "" Then
If IsNumeric(.Value) And InStr(.Value, ":") = 0 Then
.NumberFormat = "[hh]:mm"
If InStr(RaZelle, ",") > 0 Then
InS = Left(RaZelle, InStr(RaZelle, ",") - 1)
InM = Left(Mid(RaZelle & "0", InStr(RaZelle, ",") + 1), 2)
Else
InS = RaZelle
End If
.Value = InS & ":" & InM
End If
End If
End With
Next RaZelle
End If
ERRORHANDLER:
ActiveSheet.Protect "XY"
Application.EnableEvents = True
Set RaBereich = Nothing
End Sub

Vielen Dank für Eure Hilfe!

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Blattschutz im Rahmen einer Routine
19.03.2014 13:43:13
Rudi
Hallo,
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim RaBereich As Range, RaZelle As Range
Dim InS As Integer
Dim InM As Integer
Select Case Sh.Index
Case 4 To 13
' Bereich der Wirksamkeit
Set RaBereich = Sh.Range("J12:M137")
'Hier den Schutz mit Passwort aufheben
ActiveSheet.Unprotect "LD"
Application.EnableEvents = False
'Fehlerroutine ist wichtig, da sonst bei einem Abbruch die Ereignisse
'ausgeschaltet bleiben
On Error GoTo ERRORHANDLER
Set RaBereich = Intersect(RaBereich, Range(Target.Address))
If Not RaBereich Is Nothing Then
For Each RaZelle In Range(Target.Address)
With RaZelle
If .Value  "" Then
If IsNumeric(.Value) And InStr(.Value, ":") = 0 Then
.NumberFormat = "[hh]:mm"
If InStr(RaZelle, ",") > 0 Then
InS = Left(RaZelle, InStr(RaZelle, ",") - 1)
InM = Left(Mid(RaZelle & "0", InStr(RaZelle, ",") + 1), 2)
Else
InS = RaZelle
End If
.Value = InS & ":" & InM
End If
End If
End With
Next RaZelle
End If
End Select
ERRORHANDLER:
ActiveSheet.Protect "XY"
Application.EnableEvents = True
Set RaBereich = Nothing
End Sub

Gruß
Rudi

Anzeige
AW: Blattschutz im Rahmen einer Routine
19.03.2014 14:28:38
Demant
Hallo Rudi,
vielen Dank für die schnelle Antwort.
Der Blattschutz ist ab den Blättern 14 jedoch immer noch aktiv. :-(

AW: Blattschutz im Rahmen einer Routine
19.03.2014 14:32:11
Rudi
Hallo,
die werden doch gar nicht angerührt.
Heb ihn per Hand auf und gut ist.
Gruß
Rudi

AW: Blattschutz im Rahmen einer Routine
19.03.2014 14:43:11
Demant
Ist mir ja auch klar. Aber sobald ich etwas in diesen Blättern ändere, springt der Blattschutz wieder rein.
Liegt es vielleicht am Blattschutz-Makro?
Option Explicit
Sub Blattschutz()
Dim i As Integer
For i = 1 To 13
ActiveWorkbook.Worksheets(i).Activate
ActiveSheet.Protect Password:="XY"
Next i
End Sub

Sub Blattschutz_freigeben()
Dim i As Integer
Dim pw As String
For i = 1 To 13
ActiveWorkbook.Worksheets(i).Activate
ActiveSheet.Unprotect Password:="XY"
Next i
End Sub

Anzeige
AW: Blattschutz im Rahmen einer Routine
19.03.2014 14:50:05
Demant
Oder es liegt an der Fehlerroutine?

AW: Blattschutz im Rahmen einer Routine
19.03.2014 14:55:21
Rudi
Hallo,
sieht so aus.
setze End Select vor End Sub.
Gruß
Rudi

AW: Blattschutz im Rahmen einer Routine
19.03.2014 14:53:13
Rudi
Hallo,
bist du blind?
Auch da werden Blatt 14ff nicht angerührt.
Gruß
Rudi

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige