Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
620to624
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
620to624
620to624
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige