|
■どうしても分かりませんので教えてください。
最初にインプットBOXを表示させて時刻をhh.mm.ssの形式で入力させます。
その後入力した時刻から10分前の時刻を取得したいのです。
下記のようにVBAを構成しましたが
分(fun)が9以下を認識していないようで
End Ifまで進んでしまいます。
やりたい事は10分前の時刻取得なので
例えば入力した分が5分だと10分前は55分となります。
どのようにすれば宜しいのでしょうか?
■実はまだこの後に取得した10分前の時、分、秒から
hh.mm.ssの形式への表示もしなければなりません。
他にhh.mm.ssの形式で10分前の時刻を取得する良い方法があればご教授願います。
Sub auto_open()
Dim time As String
Dim zi As String
Dim fun As String
time = InputBox("時刻を入力してください。hh.mm.ss", "時刻入力")
If time <> "" Then
Sheets("Sheet1").Select
Range("B1").Value = time
zi = Left(time, 2)
fun = Mid(time, 4, 2)
'時の取得
If fun <= 9 Then
Range("b2").Value = zi - 1
ElseIf zi = 0 Then
Range("b2").Value = 23
End If
Range("b2").Value = zi
'分の取得
If fun <= 9 Then
Range("b3").Value = fun + 50
End If
Range("b3").Value = fun - 10
'秒の取得
Range("B4").Value = Right(time, 3)
Else
MsgBox "時刻が入力されませんでした。最初からやり直してください"
Exit Sub
End If
End Sub
|
|