2016-01-07 15 views
5

Robię harmonogram produkcji i chciałbym dodać np. 78 minut do czasu np. 7:05 (am) w VBA. Jak miałbym to zrobić? To, co starałem tak daleko, ale jestem coraz typ błędu 13: niedopasowanieDodaj minuty do czasu (hh: mm) w excel vba

Dim TUntilPump As Integer 
Dim TFPump As Long, TStartPump As Long 

TUP = 78 
TFP = Time(0, TUP, 0) 
TSP = Time(7,05,0) + TFP 

myślę, że ma coś wspólnego z moim zmiennych wymiarów lub formatu moich czasów, ale mam nie mam pojęcia, co robię źle. Każda pomoc jest doceniana, a dzięki z góry!

+0

użycie tego, z wyjątkiem zmian "d" do "n": http://stackoverflow.com/questions/16259166/add-x-number-of-days-to-a-date-with-vba -in-excel – PKatona

+1

@ScottCraner, tak, uświadomiłem sobie, jak tylko skomentowałem i zredagowałem go na "n" podczas gdy mnie poprawiałeś. Czy jedna z tych odpowiedzi zadziałała – PKatona

+0

? proszę wybrać jeden jako poprawny. –

Odpowiedz

9

użyć DATEADD funkcję:

TRP = dateadd("n",78,"7:05:00") 

"n" oznacza minuty.

+0

Dlaczego nie "m"? Co znaczy "n" dla VBA? (Po prostu ciekawy) – BruceWayne

+4

Ponieważ 'm' jest na' Miesiąc' –

+3

@BruceWayne również musiałem to sprawdzić. Stąd link. Chciałem wrócić. –

7

Razy należy uznać za podwójne typu vars za to. Czas jest dziesiętną częścią dnia (1). 0,5 to południe, a 0,666666 to 16:00. Odkryłem, że TimeSerial function jest dobre do konstruowania dat.

dim TFP as double, TSP as double, TUP as integer 

TUP = 78 
TFP = TimeSerial(0, TUP, 0) 
TSP = TimeSerial(7, 5, 0) + TFP 
'alternate 
TSP = TimeSerial(7, 5 + TUP, 0) 
Powiązane problemy