プリン+醤油=ウニみたいな組み合わせメニューを教えて!

入力規則のリストに、既に定義された名前を可変的に入れたいと考えています。

具体的には、以下のFormula1の中身を変数等を利用して、参照先を変化させたいのです。

.Add Type:=xlValidateList,
AlertStyle:=xlValidAlertStop,Operator:=xlBetween, Formula1:="=$A$1:$A$10"

既に範囲に対して名前が定義されているので、それを利用する(というか利用しなければならない)制約があるのですが、単に文字列変数を入れるだけでは参照してくれないようです。
何かアイディアがあれば教えてください。

A 回答 (2件)

Dim a As String


a = Range("A1").Value & Range("B1").Value
Range("B5").Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="=" & a
----------------------------------------------------------------
のようにできると思います。
一度作成して、その後変化させるには、
Range("B5").Validation.Modify Formula1:="=" & a
のようにすればいいかと思います。
    • good
    • 0
この回答へのお礼

Formula1:="="は思いつきませんでした。
大変参考になりました。ありがとうございます。

お礼日時:2006/05/14 17:24

Formula1:="既に定義されている名前"


のように範囲名を直接使えば良いです。

この回答への補足

説明不足で申し訳ありません。
既に定義されている名前をaとして、

dim a as string
a = cells(1,1).value & cells(1,2).value
(略)
Formula1:=a

のように名前を文字列で作成して可変的にしたいのです。
この場合、Formula1:=aでは名前を指定できないため
困っています。

補足日時:2006/05/08 02:12
    • good
    • 2

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報