Vielen Dank für die Suche,Excel VBA Zeit Ausgabe
Ich habe ein Problem mit dem unten genannten VBA-Code. Wahrscheinlich etwas Einfaches.
Wenn ich geben Sie die Zeit als 23.30 wird es automatisch Änderung 23:29
Wenn ich ein, wie es 2330 bis 23:30 Uhr ändert, wie es sollte.
Also warum, wenn ich 23:30 eingeben, ändert es sich zu 23:29? es sollte als 23:30
Dank
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim xStr As String
Dim xVal As String
Set rng1 = Range("J:J")
Set rng2 = Range("P:P")
Set rng3 = Range("S:S")
On Error GoTo EndMacro
If Application.Intersect(Target, Union(rng1, rng2, rng3)) Is Nothing Then Exit Sub
If Target.Count > 1 Then Exit Sub
If Target.Value = "" Then Exit Sub
If Target.Row < 5 Then Exit Sub
Application.EnableEvents = False
With Target
If Not .HasFormula Then
Target.Value = Replace(Target.Value, ";", ":")
Target.Value = Left(Target.Value, 5)
xVal = .Value
Select Case Len(xVal)
Case 1 ' e.g., 1 = 00:01 AM
xStr = "00:0" & xVal
Case 2 ' e.g., 12 = 00:12 AM
xStr = "00:" & xVal
Case 3 ' e.g., 735 = 07:35 AM
xStr = "0" & Left(xVal, 1) & ":" & Right(xVal, 2)
Case 4 ' e.g., 1234 = 12:34
xStr = Left(xVal, 2) & ":" & Right(xVal, 2)
Case 5 ' e.g., 12:45 = 12:45
xStr = Left(xVal, 2) & Mid(xVal, 2, 1) & Right(xVal, 2)
Case Else
Err.Raise 0
End Select
.Value = Format(TimeValue(xStr), "hh:mm")
End If
End With
Application.EnableEvents = True
Exit Sub
EndMacro:
Application.EnableEvents = True
End Sub
Wann ändert es sich? In dem Blatt, wenn Sie es oder irgendwo im Code anzeigen? – mountainclimber