「菜鳥級別」關於變量範圍的問題解决方法

「菜鳥級別」關於變量範圍的問題
關於變量j,在Public Sub PublicML內應該是無效的啊,爲什麽最後的運行結果是3不是2呢?

'Module1に記述↓↓↓↓↓↓↓↓↓↓

Public i As Integer 'パブリックモジュールレベルの変数宣言
Dim j As Integer 'プライベートモジュールレベルの変数宣言

Private Sub ProcedureL()
    Dim k As Integer 'プロシージャレベルの変数宣言

    i=0
    j =0
    k = 0

    i = i+1
    j = j+1
    k = k+1
    Call PrivateML
    Call PublicML
    MsgBox "パブリックモジュールレベル変数:" + CStr(i) + Chr(10) + _
           "プライベートモジュールレベル変数:" + CStr(j) + Chr(10) + _
           "プロシージャレベル変数:" + CStr(k)
End Sub

Private Sub PrivateML()
    i = i + 1
    j = j + 1
    k = k + 1
End Sub


'Module2に記述↓↓↓↓↓↓↓↓↓↓

Public Sub PublicML()
    i = i + 1
    j = j + 1
    k = k + 1
End Sub



------解决方案--------------------
Option Explicit