Runden Sie auf die nächste Minute ab:
ActiveCell.Value = Int(Time * 24 * 60) / (24 * 60)
Oder
ActiveCell.Value = TimeSerial(Hour(Time),Minute(Time),0)
Ich habe ein "Arbeitszeittabelle" -Makro für Uhrzeitein- und -uhrzeiten, die Mitarbeiter bei der Arbeit verwenden können. Das Makro, das ich habe, ist folgendes:
ActiveCell.Value = Time ActiveCell.NumberFormat = "h:mm AM/PM"
Es funktioniert gut und zeigt nur als "7:30 AM" als Beispiel an, aber im Bearbeitungsfeld gibt es Sekunden und dies kann die Verschiebungszeit bestimmen (Formel = IF (ODER (C2 = "", F2 = "" ), "", ((F2-C2) - (E2-D2)) * 24)) um eine Minute, wenn sich die Sekunden nicht aneinander reihen, aber wir zahlen keine Sekunden aus, nur Minuten. Gibt es eine Möglichkeit, das Makro zu ändern, bei dem nur Stunde und Minute erfasst werden. Formatierung korrigiert es nicht. Mir geht es gut, es gibt jedes Mal "7:30:00" zurück und nicht die tatsächlichen Sekunden. Vielen Dank!
Runden Sie auf die nächste Minute ab:
ActiveCell.Value = Int(Time * 24 * 60) / (24 * 60)
Oder
ActiveCell.Value = TimeSerial(Hour(Time),Minute(Time),0)
Sie können dies auch versuchen:
ActiveCell.Value = Format(range("D2"), "HH:MM")
Beachten Sie, dass Cell D2
die Formel berechnet, die Sie in der obigen Frage anzeigen.
Oder anstelle von ActiveCell können Sie auch die folgenden verwenden:
Selection.NumberFormat = "h:mm" Range("E327").NumberFormat = "hh:mm"