Excel VBA質問箱 IV

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

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


41843 / 76735 ←次へ | 前へ→

【39968】Re:時間の丸めについて
回答  ハチ  - 06/7/4(火) 17:24 -

引用なし
パスワード
   ▼kaoru さん:
>▼ハチ さん:
>>丸めの基準を明確したほうが良いのでは?
>>9:10ならどっちですか?
>7:00以下なら7:00です
>7:00以上8:30以下なら8:30です
>8:30以上9:00以下なら9:00です
>9:00以上10:30以下なら10:30です。
>よろしくお願いいたします。
>関数で表現すると(:はエラーになりますが・・)
>=if(H14<7:00,7:00,if(and(H14<8:30,H14>7:00),8:30,(if(and(H14<9:00,H14>8:30),9:00,(if(and(H14<10:30,H14>9:00),10:30,h14))))
> です。

10:30以降は・・
なんでしょう?

Option Explicit

Sub Time_test()

'C列を作業列に使う。困る場合はOffsetの値を変更
With ActiveSheet
  With .Range("B1", .Range("B65536").End(xlUp))
    .Offset(, 1).Formula = "=Time_Round(B1)"
    .Value = .Offset(, 1).Value
    .Offset(, 1).Clear
  End With
End With

End Sub

Function Time_Round(OrgT As Date) As Date

Select Case OrgT
  Case Is <= CDate("7:00")
    Time_Round = CDate("7:00")
  Case Is <= CDate("8:30")
    Time_Round = CDate("8:30")
  Case Is <= CDate("9:00")
    Time_Round = CDate("9:00")
  Case Is <= CDate("10:30")
    Time_Round = CDate("10:30")
  Case Else
    'それ以降は・・適当に12:00
    Time_Round = CDate("12:00")
  End Select

End Function

0 hits

【39955】時間の丸めについて kaoru 06/7/4(火) 16:21 質問
【39958】Re:時間の丸めについて ハチ 06/7/4(火) 16:28 発言
【39959】Re:時間の丸めについて kaoru 06/7/4(火) 16:31 発言
【39964】Re:時間の丸めについて ハチ 06/7/4(火) 17:07 回答
【39969】Re:時間の丸めについて kaoru 06/7/4(火) 17:37 お礼
【39963】Re:時間の丸めについて kaoru 06/7/4(火) 17:05 発言
【39968】Re:時間の丸めについて ハチ 06/7/4(火) 17:24 回答
【39971】Re:時間の丸めについて kaoru 06/7/4(火) 17:55 質問
【39976】Re:時間の丸めについて ichinose 06/7/4(火) 20:08 発言
【39998】Re:時間の丸めについて kaoru 06/7/5(水) 8:56 お礼
【40009】Re:時間の丸めについて ichinose 06/7/5(水) 13:42 発言
【40057】Re:時間の丸めについて kaoru 06/7/6(木) 10:13 お礼

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