プロシージャーの実行2 (エラー)

サンプルファイルはこちら

標準モジュールの module1 に

test1 と test2 の2つのプロシージャーがあります。

test1 プロシージャーを実行させるためには、

Sub test1()
  Dim b3 As Integer
  b3 = “20230117”

  Range(“b3”) = b3
End Sub

のどこかを マウスカーソルでクリックした状態で

F5キー を打刻してください。

test1 に関係ない場所を選択している状態で F5キーをクリックしたら

少なくとも test1 は反応しません。

すると

オーバーフローしました。 と表示されました。

これは、プログラムのミスです。

プログラマー自身で解決するしかありません。

プログラムにエラーは付き物ですので、

失敗を恐れすぎる必要はありません。

少しずつ慣れていってください。

今回のエラーの原因は

Integer 型を利用したことです。

Integer 型ではなく、LongPtr 型に変更すれば解決します。

Integer 型も LongPtr 型も数値を扱う型なのですが、

LongPtr 型のほうが大きい数値を扱える という性質があります。