投稿者 るしぇ  (社会人) 投稿日時 2008/12/20 00:43:38
d は Static じゃないから毎回 0 になると判断して c が正ならつねに d < c
が成り立ちます。
c は
c = a '現時間代入
で、システム時刻の分と秒の合計。つまり必ず正ですね。
'秒合わせ
が何を意味しているのか不明ですが、条件判断の必要はありません。
まあ、何も処理してないので何の影響もありませんが、邪魔なので全部削除
しましょう。

If d = -a Then
この条件は直前の
d = c - a
に代入して - a = c - a
c = 0 にした方が初回条件として分かり易いので修正。

Dim e As Integer 
e = b / f
UserForm1.TextBox8 = Round(e, 1)
e が整数型なので Round する前に丸められています。
これも意味が無いので削除。

オーバーフローになる処理を逆に追っていくと
e = b / f               ←ここでオーバーフロー
f は入力値なので置いておいて
b = b + d 'bは合計時間
d の積算になってて
d = c - a 

ここで1つ前の処理の
c = a '現時間代入
と見比べると時間が正常に未来へ流れていれば
d は、つねに負で積算されていくから、いつかは必ずオーバーフロー
します。

どこまで負の数を積算していきたいのですか?
…その処理に特に意味があるとは思えませんが、とりあえず
ある程度大きくなったら 0 に戻せば良いのでは?