Pracuję nad problemem, w którym muszę określić całkowity czas, jaki mój program potrzebuje do wykonania. Pierwszy wiersz kodu musi zawierać bieżący "Czas rozpoczęcia", a ostatnie wiersze kodu muszą zawierać bieżący "Czas zakończenia". Odejmuję "Czas rozpoczęcia" - "Czas końcowy" = Całkowity czas.Jak przekonwertować VBA teraz() na kilka sekund, aby określić całkowite działanie programu
Nie rozumiem, w jaki sposób mogę użyć funkcji FORMAT() w VBA na wartość C2 do konwersji na sekundy? Czy istnieje inna funkcja, która działałaby lepiej niż FORMAT? Zasadniczo jestem zdezorientowany wartością daty szeregowej programu Excel i tym, co reprezentują.
Kod jest poniżej
EDYCJA: Dzięki za odpowiedzi wszyscy. Obydwie poniższe odpowiedzi odpowiadają za to, co próbuję zrobić.
sub ExecutionTime()
Worksheets("Table").Range("A2").Value = Now()
'All my executable code goes here. It's a relatively small program compiling a table so it
runs very quick.
Worksheets("Table").Range("B2").Value = Now()
Worksheets("Table").Range("C2").Value = Worksheets("Table").Range("A2").Value - Worksheets("Table").Range("B2").Value
end Sub
Formatowanie C2 nie konieczne rozwiązać swój początkowy pytanie. DateDiff jest znacznie prostszym sposobem na rozwiązanie swojego problemu z kodem. – Chrismas007
@ Chrismas007 To nie było jednak pierwsze pytanie. Pytanie brzmiało: "jestem zdezorientowany, w jaki sposób użyłbym funkcji FORMAT() w VBA na wartości C2, aby przekształcić ją w sekundy?' – Gareth
@Gareth robi 'Range (" C2 "). NumberFormat =" ss "' just w rundzie do całej sekundy? Myślę, że to jest to, czego bym potrzebował, ale czy istnieje sposób, aby obsłużyć w tym miejscu przecinki dziesiętne? – arooney88