タイトル : Re^12: 時間(??分??秒)を合算するには? 投稿日 : 2008/06/17(Tue) 23:31 投稿者 : Renard
取り敢えず、つっこみ希望の投稿と勝手に判断します。 まず、投稿初期からの疑問 .PlayTimeプロパティにどんな型のどんな値が格納されているのでしょうか? > コードを以下のように直してみました。 > Private Function GameTimes(ixTeam As Long) ↑関数として定義しているのであれば、戻り値の型は明示しましょう。 > Dim i As Integer > Dim m As Long > Dim s As Long > Dim t As Long > Dim TotalSecond As Long > Dim MS As String > Dim NS As String > Dim TotalTime As String > > For i = 1 To bbPlayerMax > With mp.Game.Team(ixTeam).Player(i) > '分 > s = Hour(.PlayTime) ↑何故「時間」を返す関数で「分」が求まるの? > '秒 > t = Minute(.PlayTime) ↑何故「分」関数で秒が求まるの? > > '分を秒にして秒の合計 > m = s * 60 + t > > '秒の合算 > TotalSecond = TotalSecond + m > > '合算した秒を分秒形式に変換 > MS = TotalSecond / 60 ↑↓数値計算の結果を文字列変数に入れるのはどうなんでしょう? > NS = TotalSecond Mod 60 > > '分:秒に変換 > TotalTime = Fix(MS) & ":" & NS ↑Fix関数の引数に文字列?? > > GameTimes = TotalTime ↑For文の外で1回実行すればいいのでは? > End With > Next > End Function あと、「/」演算子ではなく、「\」演算子で商を求める方法もあります。 |