Тема: Непонятка в ините формы

Подскажите пожалуйста, где я неправ:
Public see_gab
Sub Main()
.....
UserForm1.Show

end Sub

На форме есть CheckBox1. Для него :
Private Sub CheckBox1_Click()
    If Me.CheckBox1.Value Then
       see_gab = 1
    Else
       see_gab = 0
       Me.CheckBox2.Value = False
    End If
       
    PROC1 a, b, see_gab
   
End Sub

Я пытаюсь в ините формы установить состояние этого CheckBox1 (значение see_gab сохраняю от предыдущего запуска в реестре):
Private Sub UserForm_Initialize()
    If see_gab = 0 Then
       Me.CheckBox1.Value = False
    Else
       Me.CheckBox1.Value = True
    End If
end Sub
Так вот, после выполнения строки Me.CheckBox1.Value = True прога сразу идет на выполнение Private Sub CheckBox1_Click()!! Как этого избежать?

Re: Непонятка в ините формы

Я выходил из такого положения следующим образом

В модуле

Public init As Boolean

В форме

Private Sub UserForm_Initialize()
init=True
CheckBox1.Value = (see_gab<>0)
init=False
end Sub

Private Sub CheckBox1_Click()
If init then Exit Sub
CheckBox1.Value = (see_gab=1)
PROC1 a, b, see_gab
End Sub

Может быть коряво, но работало.

Re: Непонятка в ините формы

Спасибо за ответ! До такого способа я тоже дошел, но как то не верилось, что это глюк - думал что то не так делаю. Поэтому и спросил.