Für Hajo

Bild

Betrifft: Für Hajo
von: Daniel
Geschrieben am: 01.10.2003 17:07:16

Hallo Hajo,
ich habe ein Code von dir in meine Tabelle angepasst und funkt prima. Allerdings, wenn ich die Tabelle schutze kommt zum Error (Die Number-Format-Eigenschasft des Range-Objektes kann nicht festgelegt werden).
Warum?
Option Explicit


Private Sub Worksheet_Change(ByVal Target As Excel.Range)
'   Erstellt von Hajo.Ziplies@web.de am 28.12.02
    Dim RaBereich As Range, RaZelle As Range
    Dim InS As Integer
    Dim InM As Integer
    ' Bereich der Wirksamkeit
    Set RaBereich = Range("e7:F37, h7:i37")
'    ActiveSheet.Unprotect
    Application.EnableEvents = False
    For Each RaZelle In Range(Target.Address)
        If Not Intersect(RaZelle, RaBereich) Is Nothing Then
            With RaZelle
                If .Value <> "" Then
                    If IsNumeric(.Value) And InStr(.Value, ":") = 0 And _
                        InStr(.Value, ",") = 0 Then
                        .NumberFormat = "[hh]:mm"  <--- hier ist der Error
                        If Len(Target.Value) > 2 Then
                            InS = Left(.Value, Len(.Value) - 2)
                            InM = Right(.Value, 2)
                        Else
'                            Stunden haben das Primat
'                             InS = .Value
'                             InM = 0
'                            Minuten haben das Primat
                            InS = 0
                            InM = .Value
                        End If
                        .Value = InS & ":" & InM
                    End If
                End If
            End With
        End If
    Next RaZelle
'    ActiveSheet.protect
    Application.EnableEvents = True
End Sub





Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
    Dim Bereich As Range
    Dim Z
'   Bereich der Wirksamkeit
    Set Bereich = Range("E7:I37")
    If Intersect(Target, Bereich) Is Nothing Then Exit Sub  ' Abbruch, wenn Aktion nicht im Zielbereich
    Cancel = True
    ActiveCell.Select
    Selection.ClearContents
End Sub


Du hast mir in vielen fällen sehr geholfen.
Kannst du dir mein Beitrag von heute anschauen.
Habe bis jezt keine Lösung gefunden.

http://xlforum.herber.de/messages/317639.html


Ich danke dir im Voraus.
Ciao
Daniel
Bild


Betrifft: AW: Uhrzeiteingabe
von: Hajo_Zi
Geschrieben am: 01.10.2003 17:15:13

Hallo Daniel

es sollte keiner im Forum persönlich mit einer Frage angesprochen werden, das könnte andere davon abhalten zu Antworten. Der Betreffs sollte schon das Problem wiederspiegeln.

es ist im Code schon drin, Du hast nur nicht den Kommentar entfernt
' ActiveSheet.Unprotect
' ActiveSheet.protect


der zweite Code ist nicht von mir. Auf Select, Activate usw. kann zu 99% verzichtetet werden.

ActiveCell=""


Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.

http://home.media-n.de/ziplies/



Bild


Betrifft: AW: Uhrzeiteingabe
von: Daniel
Geschrieben am: 01.10.2003 18:14:41

Danke,Hajo
Grüß Daniel.


 Bild

Beiträge aus den Excel-Beispielen zum Thema " Workbook_BeforeClose ansprechen"