| 
    
     |  | ▼ぱぴよん さん: おはようございます。
 
 >希望としては、xlBetween, Formula1:=のところで、下のように
 >して、セルを参照させないようにしたいのですが、
 どうしてですか?
 せっかくのセルなのに・・・。
 
 >何かよい方法はありますでしょうか?
 どうしてもリストメンバーをコード内で指定したいのなら、
 コンボボックスコントロールを使用する方法等を考えなければなりませんが、
 入力規則のリストのセル参照でよいと思いますが・・・。
 
 新規ブックに以下のコードをコピーして作動させてみてください。
 
 ・シートを最右端に追加し、追加したシートにリストメンバーサンプルを作成。
 ・作成シートを非表示
 ・リストメンバーを名前の定義で登録
 ・登録した名前を非表示
 ・最左端のシートのセルB1に入力規則を設定
 
 なんて手順で設定を行っているコードです。
 標準モジュールに
 '=====================================================================
 Sub 入力規則設定()
 Dim sht As Worksheet
 Dim nm As Name
 Set sht = Worksheets.Add(after:=Worksheets(Worksheets.Count))
 With sht
 For idx = 1 To 50
 .Cells(idx, 1).Value = String(10, Chr(-32096 + (idx - 1)))
 Next
 .Range("a1").EntireColumn.AutoFit
 .Visible = xlSheetVeryHidden
 End With
 '↑最右端にシートを追加し、そこにサンプル作成。作成シートは 非表示に設定
 Set nm = Names.Add("ListRange", "=" & sht.Range("a1:a50").Address(, , xlR1C1, True))
 '名前の定義で作成サンプルセル範囲を登録
 nm.Visible = False '定義した名前を非表示
 With Worksheets(1).Cells(1, 2).Validation
 .Delete
 .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
 xlBetween, Formula1:="=ListRange"
 End With
 Worksheets(1).Select
 End Sub
 
 こんな方法で良いのではないですか?
 
 
 |  |