Zelleneintrag "1200" in Uhrzeit 12:00 umwandeln



Excel-Version: 8 / 9
  

Re: Zelleneintrag "1200" in Uhrzeit 12:00 umwandeln

von: Thomas Ramel
Geschrieben am: 16.04.2002 - 10:15:59


Grüezi Christian

Anstelle einer VBA-Routine könntest Du einen Eintrag in der Autokorrektur generieren:

Ersetzen von: ',," (2x Komma) Durch:':' (Doppelpunkt).

Nun kannst Du 'komfortabel' auf dem Ziffernblock 2 Kommas eingeben; der Doppelpunkt eird generiert.

Ansonsten als Ansatz fogende VBA-Makros von Michael Schwimmer:


Public Sub AusZahlDatum(ByVal Target As Excel.Range)

Dim a As Double, t, m, j

On Error GoTo fehlerbehandlung

a = Target.Value2

If (IsNumeric(a) = False) And (IsDate(a) = False) Then Exit Sub

If (Mid$(a, 5, 4) < 1000) And (a < 10000 Or a > 999999) Then Exit Sub

a = Format(a, "000000")

t = Mid$(a, 1, 2)

m = Mid$(a, 3, 2)

j = Mid$(a, 5, 4)

a = DateSerial(j, m, t)

Application.EnableEvents = False

Target.Value = a

Target.NumberFormat = "dd.mm.yyyy"

fehlerbehandlung:

Application.EnableEvents = True

End Sub

Public Sub AusZahlZeit(ByVal Target As Excel.Range)

Dim a

On Error GoTo fehlerbehandlung

a = Target.Value2

If a = "" Then Exit Sub

If Not (IsNumeric(a) Or IsDate(a)) Then Exit Sub

a = String(4 - Len(a), Asc("0")) & a

a = TimeSerial(Left$(a, Len(a) - 2), Right$(a, 2), 0)

Application.EnableEvents = False

Target.Value = a

Target.NumberFormat = "hh:mm"

fehlerbehandlung:

Application.EnableEvents = True

End Sub

'Und bei Zelländerung aufrufen vom Ereignis im Klassenmodul des Blatts:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)

Dim Zielbereich As Range

If Target.Count > 1 Then Exit Sub

'Überprüfen, ob die richtige Zelle für Datum geändert wird

Set Zielbereich = Application.Intersect(Range("B38"), Target)

If Not (Zielbereich Is Nothing) Then

AusZahlDatum Target

End If

'Überprüfen, ob die richtige Zelle für Zeit geändert wird

Set Zielbereich = Application.Intersect(Range("B39"), Target)

If Not (Zielbereich Is Nothing) Then

AusZahlZeit Target

End If

End Sub


Mit freundlichen Grüssen

Thomas Ramel

nach unten

Betrifft: Zelleneintrag "1200" in Uhrzeit 12:00 umwandeln
von: Christian
Geschrieben am: 16.04.2002 - 10:09:48

Zelle I20 soll die Uhrzeit im Format hh:mm zeigen. Um den Eintrag komfortabler zu gestalten, soll es möglich sein, die Zeit vierstellig, z.B. 1200 einzutragen, der Doppelpunkt wird selbst generiert. Irgendeine Idee

Danke
Christian

 nach oben

Beiträge aus den Excel-Beispielen zum Thema "Zelleneintrag "1200" in Uhrzeit 12:00 umwandeln"