投稿/コメントを表示します。

nobashiさんの投稿

(投稿ID: 4827)  添付ファイルのダウンロード権限がありません

セルA1に3,000,000,000を入力。これを10,000,000で割って、余りをだして、セルB1に余りを表示させようとします。
Sub test1()
Range("b1").Value = Range("a1").Value Mod 1000000
End Sub
この場合、オーバーフローのエラーがでます。
これを、A1に2,147,483,647を入れるとエラーがでません。これは、変数利用の場合の長整数型のLONGで扱える範囲と関係していることは理解できました。
セルA1に3,000,000,000を入力して、エラーがでないようにするには、10進数型に変更すればよいのではないかと思い、下記のように変更してためしましたが、やはりオーバーフローのエラーがでます。
Dim d As Variant
Dim amari As Variant
d = CDec(Range("a1").Value)     '10進数に変換
amari = d Mod 10000000
Range("b1").Value = amari
◎セルA1に3,000,000,000を入力して、余り計算をエラーを出さずに行うにはどうすればよいかを教えてください。
(因みに、中級まで受講完了しておりますが、実務で対応している時に、かかる問題が生じましたので、算術演算子のところで質問させていただきました。)
よろしくお願いします。



2020/08/22 22:54