| home |  
  

   © 2005 by Friedel Schmidt •  E-Mail  •                      Top  

   | impressum | feedback | home |  


Inhaltsverzeichnis

Suchen

Links
  

Bei Zeiteingabe Doppelpunkt sparen (mit VBA)
Versionen: Excel 97

Dieser Code stammt aus dem Spotlight-Forum. Autor unbekannt

Die Funktion des Makros an sich ist einwandfrei. Allerdings hatte ich damals einen recht schwachen Rechner und eine ziemlich umfangreiche Datei, was sich in diesem Zusammenhang als äußerst schlechte Kombination erwiesen hat. Der Einsatz hat sich auf wenige Tage beschränkt.

Die Eingabe der Zeit erfolgt ohne Punkt und Komma!

Den nachfolgenden Code in das Klassenmodul des entsprechenden Tabellenblattes einfügen:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim s%, m%
'Soll nur bei Eingabe in den ersten 31 Spalten wirksam werden:
If Target.Column > 31 Then Exit Sub
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 Sub


Ein Nachteil dieser Lösung ist, daß die Funktion "Rückgängig" nicht mehr möglich ist.




Hier gehts zur Lösung ohne VBA