ユーザーが基本文字(AZ、az、0-9、-、〜、 '、\、/)のみを入力できるデータ検証(絶対にマクロはありません。単にオプションではありません)を作成しようとしています。行うには、特定の文字をチェックし、見つかった場合はエラーメッセージをポップする検証を作成します。したがって、データ検証式は次のようになります。
= ISERROR(FIND( "&"、D17:D110))
ここで、D17:D110はすべて検証されるセルの範囲です。そのため、ユーザーが値を入力した後、現在編集中のセルに「&」が含まれている場合、エラーがスローされます。この方法は美しく機能します。しかしながら!私はそれ以上のキャラクターを禁止する必要があるので、試しました。
= ISERROR((OR(FIND( "&"、D17:D110)、FIND( "^"、D17:D110))))
これは「^」に対して機能しないだけでなく、「&」の検索を中断します。
だから私が必要なのは
- 複数の文字が許可されないようブロックする
- 上記の文字のみを許可します。
警告:数式の追加方法(.NET OfficeOpenXml)のため、Excelに入力して数式をドラッグした場合のように、1つのセルだけを参照することはできません。これはAPIの制限です。それが、私が全範囲で使用する方法を見つけた理由です。