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("B3:C20, D1:D7")
' 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"
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_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("B3:C20, D1:D7")
' 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 'hier geaendert
.NumberFormat = "[hh]:mm"
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
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
'* H. Ziplies *
'* 29.12.09 *
'* erstellt von HajoZiplies@WEB.de *
'* http://Hajo-Excel.de
Dim RaBereich As Range, RaZelle As Range
Dim InS As Integer
Dim InM As Integer
' Bereich der Wirksamkeit
Set RaBereich = Range("B3:C20, D1:D7")
'ActiveSheet.Unprotect
Application.EnableEvents = False
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 = Mid(RaZelle, InStr(RaZelle, ",") + 1)
Else
InS = RaZelle
End If
.Value = InS & ":" & InM
End If
End If
End With
Next RaZelle
End If
'ActiveSheet.protect
Application.EnableEvents = True
Set RaBereich = Nothing
End Sub
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("B3:C20, D1:D7")
' 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
If Len(Target.Value) > 2 Then
InS = Left(.Value, Len(.Value) - 2)
InM = Mid(.Value, InStr(1, .Value, ",") + 1, Len(.Value) - Len( _
InS) - 1)
If Len(Trim(InM)) < 2 Then InM = InM * 10
Else
' Stunden haben das Primat
InS = .Value
InM = 0
' Minuten haben das Primat
' InS = 0
' InM = .Value
End If
.NumberFormat = "[hh]:mm"
.Value = InS & ":" & InM
End If
End If
End With
End If
Next RaZelle
' ActiveSheet.protect
Application.EnableEvents = True
End Sub
GrußPrivate Sub Worksheet_Change(ByVal Target As Excel.Range)
'* H. Ziplies *
'* 29.12.09 *
'* erstellt von HajoZiplies@WEB.de *
'* http://Hajo-Excel.de
Dim RaBereich As Range, RaZelle As Range
Dim InS As Integer
Dim InM As Integer
' Bereich der Wirksamkeit
Set RaBereich = Range("B3:C20, D1:D7")
'ActiveSheet.Unprotect
Application.EnableEvents = False
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
'ActiveSheet.protect
Application.EnableEvents = True
Set RaBereich = Nothing
End Sub