マルチページを使った場合のサンプルを作成してみました。
マルチページでもコマンドボタンの配置を各ページ同じにすると、ダブルクリックでページが跳んでしまうという同じ現象が発生するので、フォーム移動と同じ対策が必要。
ユーザーフォームにマルチページ(MultiPage1)を配置
タブ部分をクリックして「新しいページ」をクリックしてページを追加(3ページになる)
Page1 に下記のコントロールを配置
コマンドボタン cmdNext1
Caption: 次へ
Page2 に下記のコントロールを配置
チェックボックス chkConfirm
Caption: 確認しました
コマンドボタン cmdNext2
Caption: 次へ
コマンドボタン cmdBack1
Caption: 前へ戻る
Page3 に下記のコントロールを配置
コマンドボタン cmdBack2
Caption: 前へ戻る
コマンドボタン cmdFinish
Caption: 終了
フォームモジュールのコード
Option Explicit
Private Sub UserForm_Initialize()
Me.MultiPage1.Style = fmTabStyleNone
Me.MultiPage1.Value = 0
Me.cmdNext2.Enabled = False
End Sub
'// Page1 //
Private Sub cmdNext1_Click() '次へ
Me.MultiPage1.Value = 1
End Sub
'// Page2 //
Private Sub chkConfirm_Click() '確認しました
Me.cmdNext2.Enabled = Me.chkConfirm.Value
End Sub
Private Sub cmdBack1_Click() '前へ戻る
Me.chkConfirm.Value = False
Me.MultiPage1.Value = 0
End Sub
Private Sub cmdNext2_Click() '次へ
Me.MultiPage1.Value = 2
End Sub
'// Page3 //
Private Sub cmdBack2_Click() '前へ戻る
Me.MultiPage1.Value = 1
End Sub
Private Sub cmdFinish_Click() '終了
If MsgBox("終了します。", vbOKCancel) = vbOK Then Unload Me
End Sub