Für Hajo
01.10.2003 17:07:16
Daniel
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