トップ回答者
Excel VBA date型で除算するとエラーになる

質問
-
windows7 excel2010 vbaで以下のコードがエラーになります。何故でしょうか?
Sub foo()
Dim a As Date
a = Time
Debug.Print 1 / a
End Sub
エラーメッセージは
実行時エラー '51':
内部エラーです。- 移動 栗下 望Microsoft employee, Moderator 2017年8月8日 2:35 Microsoft Office > Office 2016
回答
-
そもそも時刻の逆数を計算されようとしていらっしゃるようですが、何も求めようとされているのでしょうか?
TimeValue関数を使えば、時刻をシリアル値に変換できます。よって、
1 / TimeValue(a) は、動作します。
通常、型が違う場合は演算できないことも多く、型を揃えるのが基本となります。
やりたいことをご説明いただければ、有益な回答が集まりやすくなると思います。★良い回答には回答済みマークを付けよう! MVP - .NET http://d.hatena.ne.jp/trapemiya/
- 回答としてマーク 立花楓Microsoft employee, Moderator 2017年8月31日 1:19
すべての返信
-
フォーラムオペレーターの栗下 望です。
水筒くんさん、ご投稿ありがとうございます。ご質問いただいた内容については、
現在ご投稿いただいている「office 2016」フォーラムよりも、
MSDN フォーラムの「VBA」カテゴリのほうが情報が集まりやすいかと思いましたので、
スレッドの移動をさせていただきました。MSDN フォーラム > Visual Basic for Application(VBA) > Visual Basic for Application(VBA)
今後、参考になる回答が寄せられましたら、
[回答としてマーク]のご設定をお願いいたします。どうぞよろしくお願いいたします。
MSDN/TechNet Community Support 栗下 望
- 編集済み 栗下 望Microsoft employee, Moderator 2017年8月8日 2:37 移動後文言へ変更
-
そもそも時刻の逆数を計算されようとしていらっしゃるようですが、何も求めようとされているのでしょうか?
TimeValue関数を使えば、時刻をシリアル値に変換できます。よって、
1 / TimeValue(a) は、動作します。
通常、型が違う場合は演算できないことも多く、型を揃えるのが基本となります。
やりたいことをご説明いただければ、有益な回答が集まりやすくなると思います。★良い回答には回答済みマークを付けよう! MVP - .NET http://d.hatena.ne.jp/trapemiya/
- 回答としてマーク 立花楓Microsoft employee, Moderator 2017年8月31日 1:19