Worksheet-Change und Blattschutz

Bild

Betrifft: Worksheet-Change und Blattschutz von: Gisela
Geschrieben am: 07.04.2005 15:50:03

Hallo,

nachfolgendes Worksheet-Change funktioniert nur, wenn kein Blattschutz angelegt ist. Die Zellen der Eingabe sind bei Blattschutz nicht gesperrt (Kästchen unter Schutz ist nicht aktiviert). Da ich das Problem nicht gelöst bekomme, benötige ich eure Hilfe.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim s%, m%
Dim a, t, j, ZielBereich As Range
If Target.Count > 1 Then Exit Sub
'Soll Zeit nur bei einer Eingabe in Spalte H und I wirksam werden:
If Target.Column > 7 And Target.Column < 10 Then
    With Cells(Target.Row, Target.Column)
        If .Value = "" Then Exit Sub
        If IsNumeric(.Value) And InStr(.Value, ":") = 0 And InStr(.Value, ",") = 0 Then
            .NumberFormat = "[hh]:mm"
            If Len(.Value) > 2 Then
                s = Left(.Value, Len(.Value) - 2)
                m = Right(.Value, 2)
            Else
                s = .Value
                m = 0
            End If
            .Value = s & ":" & m
        End If
    End With
End If
End Sub


Vielen Dank für jede Hilfe
Gisela
Bild


Betrifft: AW: Worksheet-Change und Blattschutz von: K.Rola
Geschrieben am: 07.04.2005 16:00:52

Hallo,

wenn das auch ggf, unter E97/E2000 laufen soll könntest du den Schutz zeitweilig aufheben, ansonsten reicht es, wenn du bei den Schutzoptionen den Haken bei
"Benutzer darf Zellen formatieren" setzt.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim s%, m%
Dim a, t, j, ZielBereich As Range
If Target.Count > 1 Then Exit Sub
'Soll Zeit nur bei einer Eingabe in Spalte H und I wirksam werden:
If Target.Column > 7 And Target.Column < 10 Then
    With Cells(Target.Row, Target.Column)
        If .Value = "" Then Exit Sub
        If IsNumeric(.Value) And InStr(.Value, ":") = 0 And InStr(.Value, ",") = 0 Then
            '--------------------------------------------
             Me.Unprotect password:="xyz"
            '--------------------------------------------
            .NumberFormat = "[hh]:mm"
            If Len(.Value) > 2 Then
                s = Left(.Value, Len(.Value) - 2)
                m = Right(.Value, 2)
            Else
                s = .Value
                m = 0
            End If
            .Value = s & ":" & m
        '-------------------------------------------------
         Me.Protect password:="xyz"
        '-------------------------------------------------
        End If
    End With
End If
End Sub


Gruß K.Rola


Bild


Betrifft: AW: Worksheet-Change und Blattschutz von: Gisela
Geschrieben am: 07.04.2005 16:21:50

Hallo K.Rola,

vielen Dank für Deine Hilfe, genau das wars.

Wenn es nicht zuviel verlangt ist, kannst Du mir noch verraten, warum hier der "BlattSchutz" trotzdem "gegriffen" hat?

Liebe Grüße
Gisela


Bild


Betrifft: AW: Worksheet-Change und Blattschutz von: K.Rola
Geschrieben am: 07.04.2005 16:31:19

Hallo,

in geschützten Blättern kann bis E 2000 nicht formatiert werden, wenn das Blatt geschützt ist, nur Inhalte können in nichtgeschützten Zellen geändert werden.
Ab E 2002(XP) kann mit in den Schutzoptionen festlegen, was user darf.

Gruß K.Rola


Bild


Betrifft: herzlichen Dank o.T. und Gruß von: Gisela
Geschrieben am: 07.04.2005 17:29:24

i


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Worksheet-Change und Blattschutz"