Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


8315 / 13644 ツリー ←次へ | 前へ→

【34045】ロジックを教えてください VBA初心者です 06/1/25(水) 15:37 質問[未読]
【34048】Re:ロジックを教えてください 名無し 06/1/25(水) 15:48 発言[未読]
【34050】Re:ロジックを教えてください VBA初心者です 06/1/25(水) 16:18 お礼[未読]
【34067】Re:ロジックを教えてください ごんぼほり 06/1/25(水) 18:50 発言[未読]

【34045】ロジックを教えてください
質問  VBA初心者です  - 06/1/25(水) 15:37 -

引用なし
パスワード
   時間(分)をn分単位に処理したいのですが、ロジックをお教えください。
例として、n=15分のとき
・0分以上7.5分未満     ⇒  0分
・7.5分以上22.5分未満  ⇒ 15分
・22.5分以上37.5分未満 ⇒ 30分
・37.5分以上52.5分未満 ⇒ 45分
・52.5分以上60分未満   ⇒ 60分 
のように処理したいのですが。

【34048】Re:ロジックを教えてください
発言  名無し  - 06/1/25(水) 15:48 -

引用なし
パスワード
       '15分切り上げ処理を行う
    Select Case myMM
      Case 1 To 14
        myMM = 15
      Case 16 To 29
        myMM = 30
      Case 31 To 44
        myMM = 45
      Case 46 To 59
        myMM = 0
    End Select
    StartTime = myHH & ":" & myMM & ":" & "00"   '切り上げ処理後の時間、分を変数Timeに代入
    Range("" & myCell).Value = Time    '時間の表示
のように、Select文はいかがでしょうか?    

【34050】Re:ロジックを教えてください
お礼  VBA初心者です  - 06/1/25(水) 16:18 -

引用なし
パスワード
   有難うございます。
でもいつも15分とは限らない場合は難しいですよね。
▼名無し さん:
>    '15分切り上げ処理を行う
>    Select Case myMM
>      Case 1 To 14
>        myMM = 15
>      Case 16 To 29
>        myMM = 30
>      Case 31 To 44
>        myMM = 45
>      Case 46 To 59
>        myMM = 0
>    End Select
>    StartTime = myHH & ":" & myMM & ":" & "00"   '切り上げ処理後の時間、分を変数Timeに代入
>    Range("" & myCell).Value = Time    '時間の表示
>のように、Select文はいかがでしょうか?

【34067】Re:ロジックを教えてください
発言  ごんぼほり  - 06/1/25(水) 18:50 -

引用なし
パスワード
   >でもいつも15分とは限らない場合は難しいですよね。

なにが難しいかというと、誤差対策が一番難しいですね。

Function RoundMinutes(min As Single, n) As Integer
  RoundMinutes = (Int(min / n + 0.5)) * n
End Function

8315 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free