|
▼ハチ さん:
>▼kaoru さん:
ご回答ありがとうございました。
判断が分かりにくいので、vlookup関数で表現しようかと悩んでいました。
ありがとうございます。
>>▼ハチ さん:
>9:30ではなく10:30ですか?
>よくわかりません。
>Function内を変更してください。
>
>ユーザー定義関数を作る方法でやってみました。
>作業列にC列を使ってますので困るようだったら
>Offsetの値を変更してください。
>もっと簡単な方法がありそうな気がします。
>
>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
>
>Dim H, M As Integer 'H時、M分
>
>H = Hour(OrgT)
>M = Minute(OrgT)
>
>'このへんは適当に修正してください
>Select Case M
> Case Is < 10
> M = 0
> Case Is < 45
> M = 30
> Case Else
> M = 0
> H = H + 1
>End Select
>
>'24時以降は0:00に
>If H = 24 Then
> H = 0
> M = 0
>End If
>
>Time_Round = CDate(H & ":" & M)
>
>End Function
|
|