他のセルや数式を利用して許容値を設定する
入力規則(その5) での設定を、マクロ(VBA)で、設定します。
「A1」から「A10」のセルに入力規則を設定し、「A1」から「A10」までのセルに同じ値、データを入力するとエラーメッセージダイアログボックスが表示されるようにします。
作成手順
- 「A1」から「A10」の範囲に入力規則を設定します。
- Validation.Add メソッド の 引数 Type に、xlValidateCustom(ユーザー設定)を指定します。
- Validation.Add メソッド の 引数 Formula1(数式) に、「”=COUNTIF($A$1:$A$10,A1)=1″」を指定します。
- エラーが発生した場合に表示するエラーメッセージに関する設定を行います。
- セルをアクティブにした時に表示する、入力時メッセージに関する設定を行います。
入力規則(他セルや数式を利用して許容値を設定)
サンプルVBAソース
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
Sub Sample06_Validation() With Range("A1:A10").Validation '入力規則を削除 .Delete '入力規則を設定 'ユーザー設定、エラーメッセージ「停止」 '「A1」から「A10」までで、同じ値を入力するとエラー .Add Type:=xlValidateCustom, _ AlertStyle:=xlValidAlertStop, _ Operator:=xlBetween, _ Formula1:="=COUNTIF($A$1:$A$10,A1)=1" .IgnoreBlank = True '空白無視 .InCellDropdown = True '入力時メッセージ .ShowInput = True .InputTitle = "入力" .InputMessage = "A1 - A10 のセル範囲内に、重複しないデータを入力してください" 'エラーメッセージ .ShowError = True .ErrorTitle = "エラー" .ErrorMessage = "重複した値は入力できません!" .IMEMode = xlIMEModeNoControl End With End Sub |
実行結果
入力規則を設定したセルに入力