- 締切済み
秒数変換
秒数を入力してそれが何日、何時間、何分、何秒に変換するプログラムを作りたいのですが 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 自分で考えてこう作成したのですが、実行すると型があっていませんと表示がでます。なぜでしょう?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- temtecomai2
- ベストアンサー率61% (656/1071)
エラーが出る場合はどこでエラーが出るのかを書きましょう。 で、試してみましたが tt = ("秒数を入力してください") でエラーが出ているかと思います。 Dim tt As Long としているので tt には整数しか入れられません。 しかしコードでは tt = ("秒数を入力してください") ですから tt には「秒数を入力してください」という文字列が代入されようとしているためエラーになっています。 ここのコードが「ダイアログボックスを表示してユーザーに整数を入力してもらう」というのをイメージしているのであれば、 tt = InputBox("秒数を入力してください") とします。 # ユーザーが整数を入力してくれるとは限らないので # エラートラップを掛けるか、Variant 型の変数に入れて、 # IsNumeric 関数で「数値として評価できる値か」を検査するとか。
- redfox63
- ベストアンサー率71% (1325/1856)
VBで入力を促すのであれば InputBoxなどを使いましょう 実行時にエラーが出る場合ここが怪しいといった部分にブレークポイントを設定して ステップ実行してみましょう VB付属のヘルプMSDNで 表示されたエラーについての情報を確認してください
お礼
あ!すいません!すごい単純なこと見落としてました!ありがとうございます。