|
▼kaoru さん:
>▼ハチ さん:
>こんにちは、早速の回答ありがとうございます。
>9:10の場合は10:30です。
??
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
|
|