実現したいこと
VBAにて、オーバーフローの原因とデータ型の仕組みを知りたい
前提
VBAの練習サイトを見ながら、自分でコードを記述するのをやっておりました。
その中で、二点の疑問が生じました。
・自身の記述したコードの「客単価 = 売上 / 客数」において、客単価はどのようなデータ型適しているのか?
・練習サイトに記載してある回答のコードだと問題なく実行されるのは何故か?
です(詳細は以下に記載しております)。どなたか回答してくださると助かります。
発生している問題・エラーメッセージ
オーバーフローしました。
該当のソースコード
自身が作ったコードをデバックしたところ、 「客単価 = 売上 / 客数」に問題があり、客単価のデータ型が間違えているのではと考えています。この場合、どのようなデータ型が一番適しているのでしょうか・・・?
Option Explicit Sub 客単価() Dim 売上 As Long Dim 客数 As Long Dim 客単価 As Long Dim i As Long For i = 1 To 10 Cells(i + 1, 2).Value = 売上 Cells(i + 1, 3).Value = 客数 客単価 = 売上 / 客数 Cells(i + 1, 4).Value = 客単価 Next End Sub
下記の練習サイトの回答を実行したところ、問題なく実行されました。
計算結果は、どのようなデータ型で表されているのでしょうか・・・?
Sub 練習問題1() Dim i As Long For i = 2 To 11 Cells(i, 4).Value = Cells(i, 2).Value / Cells(i, 3).Value Next End Sub
試したこと
デバッグ、データ型の検索
補足情報(FW/ツールのバージョンなど)
こちらが練習サイトとなっており、練習1の問題です。
https://excel-ubara.com/excelvba9/EXCELVBA601.html
回答3件
あなたの回答
tips
プレビュー