• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:セルの現在時刻表示の更新間隔をセルから入力したい)

セルの現在時刻表示の更新間隔をセルから入力したい

このQ&Aのポイント
  • 質問文章: セルの現在時刻表示の更新間隔をセルから入力したい。マクロを使用していますが、更新間隔変更のtimevalue(c3)とするとエラー13が出ます。どなたかお教えください。
  • 質問文章: セルの現在時刻表示の更新間隔をセルから入力したい。マクロを使用していますが、更新間隔変更のtimevalue(c3)とするとエラー13が出ます。解決方法を教えてください。
  • 質問文章: セルの現在時刻表示の更新間隔をセルから入力したい。マクロを使用していますが、更新間隔変更のtimevalue(c3)とするとエラー13が出ます。どなたか解決策を教えていただけますか?

質問者が選んだベストアンサー

  • ベストアンサー
  • okormazd
  • ベストアンサー率50% (1224/2412)
回答No.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) で,いいでしよう。

cr_ken
質問者

お礼

文字型、数値型どちらも動作しました大変参考になりました。excelが少し身近になってきました。ありがとうございました。

その他の回答 (1)

  • NMZ1985
  • ベストアンサー率30% (41/136)
回答No.1

調べてみるとエラー13は型変更エラーのようです。 c3では、文字列"c3"が入っているため TimeValue関数で変換できないと予想されます。 Worksheets("シート名").Activate の後に TargetTime = Now + TimeValue(ActiveSheet.Range("C3").Value) これで、アクティブにしたシート名のC3の値を取得できます。 シートが一枚しかないなら、必然的にそのシートがアクティブなので 上の宣言は必要ないです。

cr_ken
質問者

補足

回答頂いた記述書き直して実行してみましたがやはりエラー13が出ます。セルc3のほうは数値で1をいれています。シートは1枚だけです。なにが悪いのでしょうか?

関連するQ&A