VBAの変数の定義について
いつもお世話になっております。
VBAでの変数の定義についてお尋ねします。
VBAの勉強を始めたばかりの超初心者です。
I.チェック:A列とC列の和をE列に記載してその正誤を判定。
II.リセット:E列をクリアし、A列、C列の数字をランダムに置き換える。
という練習問題のコードを私が書いたものです。
以下について質問させていただきます。
(1)下記はモジュールレベルでの変数の宣言になると思いますが、変数の定義?例えば、最終値 = Range("A4").End(xlDown).Rowはそれぞれのプロシージャで定義しなければならないのでしょうか?
(2)モジュールレベルでの変数の宣言は,Dimではなく、Privateでやるべきなのでしょうか?
(3)何か指摘事項があれば、教えてください。
超初歩的な質問で、申し訳ありませんが、よろしくお願いいたします。
Option Explicit
Dim i As Integer '処理用カウンタ変数
Const 初期値 As Integer = 4 '表の最初 行
Dim 最終値 As Integer '表の最終 行
Sub チェック()
最終値 = Range("A4").End(xlDown).Row '表の最終行番号を取得
For i = 初期値 To 最終値 Step 1
If Cells(i, 1).Value + Cells(i, 3).Value = Cells(i, 5).Value Then 'A列+B列
Cells(i, 5).Font.Color = vbBlue '回答が正ならフォントを青
Else
Cells(i, 5).Font.Color = vbRed '回答が誤ならフォントを赤
End If
Next i
End Sub
Sub リセット()
最終値 = Range("A4").End(xlDown).Row '表の最終行番号を取得
For i = 初期値 To 最終値 Step 1
Cells(i, 5).ClearContents '回答をクリア
Cells(i, 5).Font.Color = vbBlack '回答のフォントを黒
Cells(i, 1).Value = Int(Rnd * 100) 'A列にランダムな数値
Cells(i, 3).Value = Int(Rnd * 100) 'C列にランダムな数値
Next i
End Sub