困ったときMod演算子がオーバーフローする理由Mod演算子は余りを求める演算子です。1」の場合の1を計算します。Mod演算子は内部的にLong型の範囲が演算可能範囲になります。そのため、上の例の7にあたる元の値や、3にあたる割る値がLong型の範囲を超えている場合にオーバーフローが発生します。1)より大きい値をMod演算子で使うとオーバーフローが発生します。SubMod演算子のオーバーフローを回避するにはMod演算子のオーバーフローを回避する方法は2通りあります。1つはLong型の範囲を超える値を使わないことです。この方法は実際には採用できないことがありえます。1つはLong型の範囲を超えても大丈夫なようにMod演算子を使わずに余りを求める方法です。Mod演算子を使わずに余りを求める方法Mod演算子を使わなくても余りを求めることは可能です。オーバーフローの原因はLong型の範囲に制限されていることのため、その制限を無くしてしまえばオーバーフローは発生しません。具体的には以下の計算式で余りを算出します。割る値」サンプルコード上で紹介した計算式を使って、Mod演算子を使わずに余りを求めるサンプルコードです。Excel作業をVBAで効率化シェアお問合わせTOPへ。