Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1124to1128
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
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

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

    227 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige