- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:セルの現在時刻表示の更新間隔をセルから入力したい)
セルの現在時刻表示の更新間隔をセルから入力したい
このQ&Aのポイント
- 質問文章: セルの現在時刻表示の更新間隔をセルから入力したい。マクロを使用していますが、更新間隔変更のtimevalue(c3)とするとエラー13が出ます。どなたかお教えください。
- 質問文章: セルの現在時刻表示の更新間隔をセルから入力したい。マクロを使用していますが、更新間隔変更のtimevalue(c3)とするとエラー13が出ます。解決方法を教えてください。
- 質問文章: セルの現在時刻表示の更新間隔をセルから入力したい。マクロを使用していますが、更新間隔変更のtimevalue(c3)とするとエラー13が出ます。どなたか解決策を教えていただけますか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
C3が,時刻表示で,「00:00:01」などと入力したのなら,実際のデータはシリアル値なので,TimeValue関数は必要ありません。 すなわち, TargetTime = Now + Range("c3").Value でいいです。 C3の表示が,1秒後などという意味で,「1」などと入力したのであれば,時刻表示,「00:00:01」の文字列に直すため,「"00:00:" & Range("C3").Value」として,TimeValue関数をつかいます。 すなわち, TargetTime = Now + TimeValue("00:00:" & Range("c3).Value) で,いいでしよう。
その他の回答 (1)
- NMZ1985
- ベストアンサー率30% (41/136)
回答No.1
調べてみるとエラー13は型変更エラーのようです。 c3では、文字列"c3"が入っているため TimeValue関数で変換できないと予想されます。 Worksheets("シート名").Activate の後に TargetTime = Now + TimeValue(ActiveSheet.Range("C3").Value) これで、アクティブにしたシート名のC3の値を取得できます。 シートが一枚しかないなら、必然的にそのシートがアクティブなので 上の宣言は必要ないです。
質問者
補足
回答頂いた記述書き直して実行してみましたがやはりエラー13が出ます。セルc3のほうは数値で1をいれています。シートは1枚だけです。なにが悪いのでしょうか?
お礼
文字型、数値型どちらも動作しました大変参考になりました。excelが少し身近になってきました。ありがとうございました。