データ入力シートのセルの内容をシートの範囲に一致させる名前付き範囲を使用して、別のセルの内容に基づいてセルのリスト検証を設定しようとしていますValidation
(この SO の質問を参照してください)。名前付き範囲の式は次のとおりです。
=OFFSET(validation!$B$1,MATCH(INDIRECT(ADDRESS(CELL("row"),CELL("col")-2)),validation!$A:$A,0)-1,0,COUNTIF(validation!$A:$A,INDIRECT(ADDRESS(CELL("row"),CELL("col")-2))),1)
問題は、によって参照されるセルADDRESS(CELL("row"),CELL("col")-2)
が空の場合、VBA を使用して検証を設定するとRange.Validation.Add
エラーが発生することです。
Application-defined or object-defined error
そして、セルに検証を追加しません。Validation.Add
検証が設定されていることを確認するために、呼び出しで実行できるエラー処理はありますか? または、名前付き範囲式を変更して、シートの内容がADDRESS(CELL("row"),CELL("col")-2)
一致しない場合でも値を出力する方法はありますか?validation