ユーザーフォームのボタンからアクティブ化されるサブがあります。クリックからの基本的な手順は、
1)ユーザー入力に基づいてサブを実行します
2) 結果シートを選択
3) 結果を表示する
4) ユーザーフォームをアンロードする
ユーザー入力値に境界を設定しようとして、ユーザーが範囲外の何かを入力すると、範囲を通知するメッセージ ボックスがポップアップ表示されるため、問題が発生しました。if/then ループを使用することで、この単純なタスクを達成できました。ユーザーがメッセージボックスを終了した後、元のユーザー入力とともにユーザーフォームを表示したままにし、ユーザーが入力を変更できるようにしたいと考えています。しかし、現在、ユーザーがメッセージボックスで「OK」をクリックした後、クリックサブはその手順を続行し、ユーザーフォームをアンロードして結果ワークシートを選択します。ユーザーに値を再入力させる代わりに、ユーザーフォームを保持するために、msgbox の状態の後に置くことができる単純な 1 行のコードはありますか?
編集 - 私のコードの一般的な要点は次のとおりです。
Private Sub CommandButton1_Click()
PropertySearch.Search
ActiveSheet.Name = "SearchResult"
Cells(1, 1).Select
Unload ILsearch
End Sub
Sub Search()
If (TextBox1 And TextBox2 <= 8) And (TextBox1 And TextBox2 > 0) Then
'
'Performs my desired function
'
Else: MsgBox ("Database only includes ionic liquids with a maximum of 8 carbons in cation")
End If