私は何時間もウェブ検索とT&Eの使用を無駄にしてきましたが、これが比較的簡単な問題であることを願っています。うまくいけば、誰かが助けることができます; o)
多くの処理を行う前にいくつかの入力データを取得するためのユーザーフォームを表示するExcelモジュールがあります。ユーザーフォームの下部には、「OK」と「キャンセル」というラベルの付いたコマンドボタンがいくつかあります。ユーザーがオプションボタンを変更し、「OK」または「キャンセル」をクリックして終了できるようにする必要があります。モジュールは、に基づいてプロセスを続行します。 「キャンセル」が押されたかどうか。フォームの[キャンセル]ボタンを押してもブール結果を読み取る方法が見つからないようです。99%は、何らかのパブリック/プライベート参照エラーであると確信していますが、私はまだそれを理解するのに十分な経験を積んでいません。コードスニペットは次のとおりです。
(モジュール1から)
Sub ModuleName()
Dim State as Boolean
' Display Parameter box
UserForm2.Show
If UserForm2.ButtonCancel Then
State = True
Else
State = False
End If
End Sub
キャンセルのTrueまたはFalseに基づいて、残りの手順を実行できます。
(UserForm2コード)
Private Sub ButtonCancel_Click()
BtnCancel = True
Unload Me
End Sub
Private Sub ButtonOK_Click()
BtnCancel = False
Unload Me
End Sub
Private Sub ButtonReset_Click()
'Set the Default Settings
NEAlias.Value = "True"
NoteIgnore.Value = "True"
ABIgnore.Value = "True"
LinkIgnore.Value = "True"
End Sub
Private Sub UserForm_Initialize()
Dim BtnCancel As Boolean
'Add the Text to the options
NEIgnore.Caption = "Ignore"
NoteIgnore.Caption = "Ignore"
ABIgnore.Caption = "Ignore"
LinkIgnore.Caption = "Ignore"
NEAlias.Caption = "Alias Only"
NoteAlias.Caption = "Alias Only"
ABAlias.Caption = "Alias Only"
LinkAlias.Caption = "Alias Only"
NEMove.Caption = "Move and Alias"
NoteMove.Caption = "Move and Alias"
ABMove.Caption = "Move and Alias"
LinkMove.Caption = "Move and Alias"
'Set the Default Settings
NEAlias.Value = "True"
NoteIgnore.Value = "True"
ABIgnore.Value = "True"
LinkIgnore.Value = "True"
End Sub
それでおしまい。シンプルなはずなのに困ります。助けてくれるTIA!