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

Forumthread: Uhrzeit mit komma

Uhrzeit mit komma
Ralf
Hallo
Hatte gestern schon mal danach gefragt und zwar möchte ich gerne wenn ich 8,15 in eine zelle eingebe das dann dort 8:15 steht habe auch reichlich antworten gefunden
es geht natürlich mit autokorrektur aber mir würde die Lösung von Hajo am besten gefallen nur das problem ist jetzt nur hajo sein mako bedeutet 1630 = 16:30 ich möchte gerne16,30 = 16:30 uhrzeit aber ich habe keinen blassen schimmer was ich da im Makro ändern muß und ob das überhaupt geht vielleich kann mir von euch einer helfen
mit besten grüßen ralf
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
'   Erstellt von Hajo.Ziplies@web.de am 28.12.02
Dim RaBereich As Range, RaZelle As Range
Dim InS As Integer
Dim InM As Integer
' Bereich der Wirksamkeit
Set RaBereich = Range("B3:C20, D1:D7")
'    ActiveSheet.Unprotect
Application.EnableEvents = False
For Each RaZelle In Range(Target.Address)
If Not Intersect(RaZelle, RaBereich) Is Nothing Then
With RaZelle
If .Value  "" Then
If IsNumeric(.Value) And InStr(.Value, ":") = 0 And _
InStr(.Value, ",") = 0 Then
.NumberFormat = "[hh]:mm"
If Len(Target.Value) > 2 Then
InS = Left(.Value, Len(.Value) - 2)
InM = Right(.Value, 2)
Else
'                            Stunden haben das Primat
'                             InS = .Value
'                             InM = 0
'                            Minuten haben das Primat
InS = 0
InM = .Value
End If
.Value = InS & ":" & InM
End If
End If
End With
End If
Next RaZelle
'    ActiveSheet.protect
Application.EnableEvents = True
End Sub

Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Uhrzeit mit komma
29.12.2009 18:14:10
hary
Hallo ralf
teste mal. Habe zeichen = in > gewechselt.

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
'   Erstellt von Hajo.Ziplies@web.de am 28.12.02
Dim RaBereich As Range, RaZelle As Range
Dim InS As Integer
Dim InM As Integer
' Bereich der Wirksamkeit
Set RaBereich = Range("B3:C20, D1:D7")
'    ActiveSheet.Unprotect
Application.EnableEvents = False
For Each RaZelle In Range(Target.Address)
If Not Intersect(RaZelle, RaBereich) Is Nothing Then
With RaZelle
If .Value  "" Then
If IsNumeric(.Value) And InStr(.Value, ":") = 0 And _
InStr(.Value, ",") > 0 Then  'hier geaendert
.NumberFormat = "[hh]:mm"
If Len(Target.Value) > 2 Then
InS = Left(.Value, Len(.Value) - 2)
InM = Right(.Value, 2)
Else
'                            Stunden haben das Primat
'                             InS = .Value
'                             InM = 0
'                            Minuten haben das Primat
InS = 0
InM = .Value
End If
.Value = InS & ":" & InM
End If
End If
End With
End If
Next RaZelle
'    ActiveSheet.protect
Application.EnableEvents = True
End Sub

gruss hary
Anzeige
AW: Uhrzeit mit komma
29.12.2009 18:21:28
Ralf
Jau das passt aber mir ist aufgefallen, das man wohl 16,15 = 16:15 eingeben kann nur bei 17,30 = 17:00 woran kann das liegen
gruß Ralf
AW: Uhrzeit mit komma
29.12.2009 19:05:31
tommy
Tipp:
mach in der Gleichung =1 statt größer 0
Gruß!
AW: Uhrzeit mit komma
29.12.2009 19:58:12
Hajo_Zi
Hallo Ralf,
in einen Forum sollte man mit einer Frage keine Person persölkich anreden, ein Hinwis vom wem der Code wäre nicht schlecht im Betreff. Ich wurde jetzt erst drauf hingewiesen.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
'* H. Ziplies                                     *
'* 29.12.09                                       *
'* erstellt von HajoZiplies@WEB.de                *
'* http://Hajo-Excel.de
Dim RaBereich As Range, RaZelle As Range
Dim InS As Integer
Dim InM As Integer
' Bereich der Wirksamkeit
Set RaBereich = Range("B3:C20, D1:D7")
'ActiveSheet.Unprotect
Application.EnableEvents = False
Set RaBereich = Intersect(RaBereich, Range(Target.Address))
If Not RaBereich Is Nothing Then
For Each RaZelle In Range(Target.Address)
With RaZelle
If .Value  "" Then
If IsNumeric(.Value) And InStr(.Value, ":") = 0 Then
.NumberFormat = "[hh]:mm"
If InStr(RaZelle, ",") > 0 Then
InS = Left(RaZelle, InStr(RaZelle, ",") - 1)
InM = Mid(RaZelle, InStr(RaZelle, ",") + 1)
Else
InS = RaZelle
End If
.Value = InS & ":" & InM
End If
End If
End With
Next RaZelle
End If
'ActiveSheet.protect
Application.EnableEvents = True
Set RaBereich = Nothing
End Sub


Anzeige
AW: Uhrzeit mit komma
29.12.2009 20:49:06
BoskoBiati
Hallo Hajo,
Dein Makro bringt einen Fehler, wenn man Uhrzeiten mit vollen 10Minuten eingibt. aus z.B 16,30 wird 16:03. Hier mal eine Änderung (beruhend auf dem alten Code):

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
'   Erstellt von Hajo.Ziplies@web.de am 28.12.02
Dim RaBereich As Range, RaZelle As Range
Dim InS As Integer
Dim InM As Integer
' Bereich der Wirksamkeit
Set RaBereich = Range("B3:C20, D1:D7")
'    ActiveSheet.Unprotect
Application.EnableEvents = False
For Each RaZelle In Range(Target.Address)
If Not Intersect(RaZelle, RaBereich) Is Nothing Then
With RaZelle
If .Value  "" Then
If IsNumeric(.Value) And InStr(.Value, ":") = 0 And _
InStr(.Value, ",")  0 Then
If Len(Target.Value) > 2 Then
InS = Left(.Value, Len(.Value) - 2)
InM = Mid(.Value, InStr(1, .Value, ",") + 1, Len(.Value) - Len( _
InS) - 1)
If Len(Trim(InM)) 
Gruß
Bosko
Anzeige
AW: Uhrzeit mit komma
29.12.2009 21:00:27
Hajo_Zi
Hallo Bosko,
ich habe den alten Code angepast.
  • Option Explicit
    Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    '* H. Ziplies                                     *
    '* 29.12.09                                       *
    '* erstellt von HajoZiplies@WEB.de                *
    '* http://Hajo-Excel.de
    Dim RaBereich As Range, RaZelle As Range
    Dim InS As Integer
    Dim InM As Integer
    ' Bereich der Wirksamkeit
    Set RaBereich = Range("B3:C20, D1:D7")
    'ActiveSheet.Unprotect
    Application.EnableEvents = False
    Set RaBereich = Intersect(RaBereich, Range(Target.Address))
    If Not RaBereich Is Nothing Then
    For Each RaZelle In Range(Target.Address)
    With RaZelle
    If .Value  "" Then
    If IsNumeric(.Value) And InStr(.Value, ":") = 0 Then
    .NumberFormat = "[hh]:mm"
    If InStr(RaZelle, ",") > 0 Then
    InS = Left(RaZelle, InStr(RaZelle, ",") - 1)
    InM = Left(Mid(RaZelle & "0", InStr(RaZelle, ",") + 1), 2)
    Else
    InS = RaZelle
    End If
    .Value = InS & ":" & InM
    End If
    End If
    End With
    Next RaZelle
    End If
    'ActiveSheet.protect
    Application.EnableEvents = True
    Set RaBereich = Nothing
    End Sub
    


  • Gruß Hajo
    Anzeige
    AW: Danke
    30.12.2009 08:15:19
    hary
    Moin Ihr Beiden
    Jetzt wo ich's sehe. So in etwa hatte ich es auch, hatte nur ein paar entscheidene Buchstaben nicht eingebaut ;-(
    Gruss hary
    AW: Danke
    30.12.2009 08:40:50
    Ralf
    Hallo
    und danke für eure Antworten und anregungen in sachen forumverhalten
    Mit besten grüßen ralf
    ;

    Forumthreads zu verwandten Themen

    Anzeige
    Entdecke relevante Threads

    Schau dir verwandte Threads basierend auf dem aktuellen Thema an

    Alle relevanten Threads mit Inhaltsvorschau entdecken
    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