Das Archiv des Excel-Forums

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

Excel-Beispiele zum Thema "Zelleneintrag "1200" in Uhrzeit 12:00 umwandeln"
Fortlaufende Uhrzeit in Zelle und Statusleiste zeigen Anwendung von DBMAX auf Datum und Uhrzeit
Zellen in Abhängigkeit der aktuellen Uhrzeit markieren Beim Überfahren einer Grafik mit der Maus Uhrzeit anzeigen
TextBox-Eintrag von Industrie- und Uhrzeit wandeln Abkürzungen umwandeln
URLs eines ausgewählten Bereiches in HyperLinks umwandeln Textstring in berechenbare Formel umwandeln
Als Text vorhandene Werte in Zahlen umwandeln Zeichen in Zeichenfolgen umwandeln und Leerzeichen entfernen