入力規則(リストで制限する)Validation.Add メソッド
ドロップダウンリストで入力値を制限
Validation.Add メソッド(または、Validation.Modify メソッド)の 引数 Type プロパティ に 定数 xlValidateList を指定します。
object.Validation.{ Add | Modify }
( Type := xlValidateList, Formula1 := cellrange, AlertStyle := const )
引数・戻り値
- object ・・・ 対象となる Range オブジェクトを指定します。
- cellrange ・・・
【リストを直接指定】:Formula1 := “AAA,BBB,CCC,DDD,EEE” のように指定します。
【セル範囲を指定】:Formula1 := “=A1:A5” のように指定します。
【シートを含める】:Formula1 := “Sheet2!E1:E5” のように指定します。(Excel 2007 以降)
【名前付きの範囲】:Formula1 := 範囲名 のように指定します。
※ 別シートのセル範囲に「名前」を設定することで、旧バージョンの Excel でも別シートのセル範囲を指定できます。 - const ・・・ メッセージボックスのスタイルを指定します。
定数 内容 ダイアログボックス xlValidAlertStop 「停止」リストにない値は入力できません 
xlValidAlertWarning 「注意」「はい」をクリックするとリスト外の値を入力することができます 
xlValidAlertInformation 「情報」「OK」をクリックするとリスト外の値を入力することができます 
入力規則(リストで制限する) 使用例
サンプルVBAソース
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
Sub Sample02_Validation() With Range("B2").Validation '入力規則を削除 .Delete '入力規則の設定:「Sheet2」の「A1:A5」をリストに設定 'エラーメッセージのスタイルは「注意」 .Add Type:=xlValidateList, _ Formula1:="=Sheet2!A1:A5", _ AlertStyle:=xlValidAlertWarning End With End Sub |
実行結果
実行後
リストにない値を入れた時
関連記事
-
-
非連続のセルが選択されているか確認する(Areas コレクション)
Areas コレクション の使い方 複数の離れた位置にあるセル範囲を選択した場合 …
-
-
VBA で、ワークシート関数を使用(WorksheetFunction プロパティ)
VBA で、ワークシと関数を使用 VBA から、ワークシート関数を呼び出す場合、 …
-
-
オートフィルタの設定と解除(AutoFilter メソッド)
AutoFilter メソッド オートフィルタを設定する場合、AutoFilte …
-
-
セルの高さ・幅を取得(Height プロパティ・Width プロパティ)
Height プロパティ・Width プロパティ Height プロパティは、指 …
-
-
セルの値を置換(Replace メソッド)
Replace メソッド 任意のセル範囲内から特定の値を一括して置換します。Fi …
-
-
対象のセルが直接参照しているセル全てを取得(DirectPrecedents プロパティ)
DirectPrecedents プロパティ DirectPrecedents …
-
-
オートフィルタ(矢印を非表示にする)AutoFilter メソッド
AutoFilter メソッド 【書式】 object.AutoFilter ( …
-
-
並べ替え(Sort オブジェクト, SortFields コレクション)
Sort オブジェクトによる並べ替え Excel 2007 以降のバージョンでの …
-
-
グラデーション(Pattern プロパティ・Gradient プロパティ)
セルの背景ににグラデーションを設定する Pattern プロパティを使用するとセ …
-
-
AutoFilter オブジェクト(メソッド・プロパティ)
AutoFilter.ShowAllData メソッド AutoFilter.S …

