• 締切済み

秒数変換

秒数を入力してそれが何日、何時間、何分、何秒に変換するプログラムを作りたいのですが Sub 秒数変換() Dim tt As Long, dd As Long, hh As Long, mm As Long, ss As Long tt = ("秒数を入力してください") mm = tt \ 60: ss = tt Mod 60 hh = mm \ 60: mm = mm Mod 60 dd = hh \ 24: hh = hh Mod 24 MsgBox tt & "秒は" & dd & "日" & hh & "時間" & mm & "分" & ss & "秒です" End Sub 自分で考えてこう作成したのですが、実行すると型があっていませんと表示がでます。なぜでしょう?

みんなの回答

回答No.2

エラーが出る場合はどこでエラーが出るのかを書きましょう。 で、試してみましたが tt = ("秒数を入力してください") でエラーが出ているかと思います。 Dim tt As Long としているので tt には整数しか入れられません。 しかしコードでは tt = ("秒数を入力してください") ですから tt には「秒数を入力してください」という文字列が代入されようとしているためエラーになっています。 ここのコードが「ダイアログボックスを表示してユーザーに整数を入力してもらう」というのをイメージしているのであれば、 tt = InputBox("秒数を入力してください") とします。 # ユーザーが整数を入力してくれるとは限らないので # エラートラップを掛けるか、Variant 型の変数に入れて、 # IsNumeric 関数で「数値として評価できる値か」を検査するとか。

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

VBで入力を促すのであれば InputBoxなどを使いましょう 実行時にエラーが出る場合ここが怪しいといった部分にブレークポイントを設定して ステップ実行してみましょう VB付属のヘルプMSDNで 表示されたエラーについての情報を確認してください

endli0925
質問者

お礼

あ!すいません!すごい単純なこと見落としてました!ありがとうございます。

関連するQ&A