入力規則の設定

Posted by muchag | Excel VBA | 2012-03-25 (日) 16:15:31

エディタはやっぱりダークテーマ!

VBA でセルに入力規則を設定しようとしたら
はまったのでメモ。

【環境】
[Excel] 2003 SP2

入力規則を設定しようとして、Excel でマクロを記録した。

  1. Range("G6").Select
  2. With Selection.Validation
  3.     .Delete
  4.     .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
  5.     xlBetween, Formula1:="=セルの名前"
  6.    
  7.     細かいのは省略
  8. End With

 
これを基にして

  1. With Range("A1:A3").Validation
  2.     .Delete
  3.     .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
  4.     xlBetween, Formula1:="=セルの名前"
  5.    
  6.     細かいのは省略
  7. End With

 
こうしてみたら

実行時エラー 2147417848(80010108)
Addメソッドは失敗しました。Validationオブジェクト

こんなエラーが出た。
 
あれこれ調べてもサッパリ解決せず。

あ! っと思い、
試しに当該セル範囲を選択させてからの処理にしてみた。

  1. Range("A1:A3").Select
  2. With Selection.Validation
  3.     .Delete
  4.     .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
  5.     xlBetween, Formula1:="=セルの名前"
  6.    
  7.     細かいのは省略
  8. End With

 
無事に動いた・・・。
選択しないとだめなのねぇ。

Excel VBA | 2012-03-25 (日) 16:15:31 |