Excel VBA 質問スレ Part67at TECHExcel VBA 質問スレ Part67 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト24:デフォルトの名無しさん 20/06/27 10:55:33.95 gKvpRzl30.net 今日は、タイマー作ってます。 MsgBox 36000*24 はエラーにならないが MsgBox 24*3600 は実行時エラーオーバーフローしました。 となります。 どうしてなんでしょうか?。 25:デフォルトの名無しさん 20/06/27 11:02:47.04 aTkq7ke+a.net >>23 教えてキャン>>98<<ビー https://oshiete.goo.ne.jp/qa/597623.html >Win98系のOSの場合ですが、処理中に、 頻繁にDoEventsを実行する必要があります。 これは、OSの特性です。 26:デフォルトの名無しさん 20/06/27 11:13:07.90 lV2RRwzl0.net 釣りなのか本気なのか判断に困る質問だな 27:デフォルトの名無しさん 20/06/27 11:48:36.47 P+1UXm0n0.net ヤベーイ 28:デフォルトの名無しさん 20/06/27 23:20:44.51 J5vHObt/0.net 動作がおかしいのは古いからじゃないかな 29:デフォルトの名無しさん 20/06/28 00:22:47.53 /mLredfO0.net VBAで宣言せずに数式を書くと、式の中で最初に出てきた数字によって型が勝手に決められる仕様 小数点があったら、小数点以下が0でもDouble型 32767以下の整数はInteger型 32768以上の整数はLong型 になる だから「24*3600」という式を書くと、最初に出てくる数字は24だからInteger型とみなされて、24*3600はInteger型の制限範囲を超えてるからエラーになる 変数を使わずに数値の型を指定したい時は型文字を使うか実数型にしてしまう この場合は 24& * 3600 (Double型) 24.0 * 3600 (Double型) 24# * 3600 (Long型) と書けばエラーにならない ちなみにVBA(Excel)のバージョンは関係ない 最新でも仕様は変わってないから同じ所でエラーになる 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch