Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Ereignis-Uhrzeitumwandlung

Forumthread: Ereignis-Uhrzeitumwandlung

Ereignis-Uhrzeitumwandlung
14.06.2005 08:22:34
Peter
Hallo Forum,
wie kann ich es erreichen, dass der eingegebene String
bei Eingabe eines ":" nicht automatisch in eine Uhrzeit
umgewandelt wird.
Danke Peter

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Application.EnableEvents = False
On Error GoTo ERRORHANDLER
If Target.Row < 8 Or _
Selection.Cells.Count > 1 Then Exit Sub
Select Case Target.Column
Case 3, 5
Target = Format(Target, "00:00")
End Select
Application.EnableEvents = True
Exit Sub
ERRORHANDLER:
Target.ClearContents
Application.EnableEvents = True
End Sub

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ereignis-Uhrzeitumwandlung
14.06.2005 08:52:02
WernerB.
Hallo Peter,
mal ungetestet:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Application.EnableEvents = False
On Error GoTo ERRORHANDLER
If Target.Row < 8 Or _
Selection.Cells.Count > 1 Then Exit Sub
If Target.Text <> ":" Then
Select Case Target.Column
Case 3, 5
Target = Format(Target, "00:00")
End Select
End If
Application.EnableEvents = True
Exit Sub
ERRORHANDLER:
Target.ClearContents
Application.EnableEvents = True
End Sub

Viel Erfolg wünscht
WernerB.
P.S.: Dieses Forum lebt auch von den Rückmeldungen der Fragesteller an die Antworter !
Anzeige
AW: Ereignis-Uhrzeitumwandlung -leider nicht
14.06.2005 09:30:37
Peter
Hallo Werner,
funktioniert leider nicht.
Ich hab es in der Zwischenzeit mit der
Rückgabe des Wertes versucht. (')
Funktioniert leider auch nicht.
Peter
Target = CStr(Format(Target, "'00:00"))
AW: Ereignis-Uhrzeitumwandlung -leider nicht
14.06.2005 09:46:03
bst
Auch Hallo,
&gt wie kann ich es erreichen, dass der eingegebene String bei Eingabe eines ":" nicht
&gt automatisch in eine Uhrzeit umgewandelt wird.
IMHO so gar nicht. Excel hat das bereits getan BEVOR Deine Ereignisfunktion aufgerufen wird.
Einfachste Abhilfe: Formatiere die Spalten 3 und 5 Deiner Tabelle als Text.
Dann kannst Du Dir die Ereignisfunktion komplett sparen.
Oder schreibe halt beim Eingeben (oder auch im VBA!) einfach ein ' davor.
Es bringt Dir übrigens überhaupt nichts via Format - ein Falsches noch dazu - das Teil in einen String zu wandeln ! Beim Zurückschreiben wandelt es Excel danach einfach wieder in eine Uhrzeit ;-)
Übrigens, Du schaltest Dir u.U. selber die Ereignisse ab !
HTH, Bernd
--
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    On Error GoTo ERRORHANDLER
    
    If Target.Row < 8 Or Target.Count > 1 Then Exit Sub
    
    Application.EnableEvents = False
    If IsNumeric(Target.Value) Then
        Select Case Target.Column
            Case 3, 5
                Target.NumberFormat = "@"
                Target.Value = Format(Target, "hh:mm")
        End Select
    End If
    Application.EnableEvents = True
    
    Exit Sub
    ERRORHANDLER:
    Application.EnableEvents = False
    Target.ClearContents
    Application.EnableEvents = True
End Sub




Anzeige
AW: Ereignis-Uhrzeitumwandlung -leider nicht
14.06.2005 09:50:06
WernerB.
Hallo Peter,
Deine Frage verstehe ich so: Wenn nur ein Doppelpunkt eingegeben wird, dann soll die Zelle nicht als Uhrzeit ("hh:mm") formatiert werden;
bei allen anderen Eingaben soll sie als Uhrzeit ("hh:mm") formatiert werden.
wenn es dieses Mal (jetzt auch getestet) auch nicht klappt, dann solltest Du Deine Frage vielleicht besser noch einmal etwas präziser formulieren:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Application.EnableEvents = False
On Error GoTo ERRORHANDLER
If Target.Row < 8 Or _
Selection.Cells.Count > 1 Then Exit Sub
If Target.Text <> ":" Then
Select Case Target.Column
Case 3, 5
Target.NumberFormat = "hh:mm"
End Select
End If
Application.EnableEvents = True
Exit Sub
ERRORHANDLER:
Target.ClearContents
Application.EnableEvents = True
End Sub

Gruß
WernerB.
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige