入力規則(リスト)のエラーメッセージを消す方法

未分類

今回はEXCELブックに設定した入力規則(リスト)についてです。
通常、リストを設定すると、リストに存在する値以外を入力するとエラーダイアログが表示されます。

このエラーダイアログ、VBAのChangeイベントよりも先に表示されてしまうんですよね。
仕事で組んだVBAの邪魔者となってしまいました。

そこで、今回はこのエラーダイアログを表示させないようにするというのがゴールです。
ちなみに、ChatGPTに対処法を聞いて見たら、エラーダイアログの表示は制御できないって回答でした。まだまだだな(´_ゝ`)

GUIで設定する方法

メニュー>データ>データの入力規則 で↓のダイアログを表示させ

「エラー メッセージ」タブをクリックしたら
「無効なデータが入力されたらエラー メッセージを表示する(S)」の☑を外すだけ!

案外簡単でした。

VBAで設定する方法

こちらも超簡単でした。以下のように実装すれば大丈夫です。

With Range("A1").Validation
    .Add Type:=xlValidateList, Formula1:="=$B$1:$B$100"
    .ShowError = False ' <- ココです
End With

蛇足

ちなみに、このダイアログを消すきっかけとなった問題は
Excel2019だと、リスト内に存在する文字を部分的に入力してEnterを叩いても
リストから該当する値を曖昧検索してくれなかった。という挙動です。

Office365のExcelでは勝手に候補からピックアップしてくれます。

この挙動の差を埋める為に、VBAでリストから曖昧HITする値を取得して
セルに埋め込むという処理を実行する中で、エラーダイアログが邪魔になりました。

Excelも地味に進化しているんですね。。。

ではまた!