• ベストアンサー

Excel VBAでフォーカスを移動しない方法

Excel VBA リストのソースを設定してあるコンボボックスから次のコンボボックスに移動する際、入力にエラーあれば フォーカスを移動しないようにするコードはどのようにすればいいのですか? 現在は Private Sub [コンボボックス名1]_Exit(ByVal Cancel As MSForms.ReturnBoolean) If [コンボボックス名2] = "" Then MsgBox "値が不正です。", vbInformation, "フォーム名" End If End Sub としています。

質問者が選んだベストアンサー

  • ベストアンサー
  • kybo
  • ベストアンサー率53% (349/647)
回答No.2

回答1だと永久に抜けられないので訂正。 Private Sub ComboBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) If ComboBox1.Value = "" Then MsgBox "値が不正です。", vbInformation, "フォーム名" Cancel = True End If End Sub

pythu
質問者

お礼

できました、ありがとうございました。

その他の回答 (1)

  • kybo
  • ベストアンサー率53% (349/647)
回答No.1

ComboBox1.の値が空欄だった場合、抜けられないようにするには、 Cancel = Trueを入れてみてください Private Sub ComboBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) If ComboBox1.Value = "" Then MsgBox "値が不正です。", vbInformation, "フォーム名" End If Cancel = True End Sub

pythu
質問者

お礼

できました、ありがとうございました。

pythu
質問者

補足

できました、ありがとうございました。

関連するQ&A

専門家に質問してみよう