|
▼あすなろ さん:
>■どうしても分かりませんので教えてください。
>最初にインプット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
MsgBox DateTime.DateAdd("n", -5, Now)
DateTimeを使えば簡単 関数よりどりみどり。
DateTime. で コード支援が働くので(でないならCTRL+スペースキー)
お好きな関数をどうぞ!!
ついでに
DateTime.DateAddなら
DateAddをダブルクリックして選択状態にして、F1でヘルプ出現。
|
|