• ベストアンサー

エクセルBVAで入力規則のリストを実行したい

エクセルのデータ→入力規則→リスト→リストの範囲指定をBVAで実行出来る方法はありませんか?

質問者が選んだベストアンサー

  • ベストアンサー
  • ASIMOV
  • ベストアンサー率41% (982/2351)
回答No.1

Sub TEST() myList = "=$B$1:$B$5" With Selection.Validation .Add Type:=xlValidateList, Operator:=xlBetween, Formula1:=myList End With End Sub B1:B5 をリストに設定します

19760101
質問者

補足

返事遅くなってすいません。ありがとうございます。ではmyList = "=$B$1:$B$5"を別シートのセル範囲にはできませんか?

その他の回答 (1)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんにちは。 最初に、設定したいセル上にセルポインターを置いてから、マクロ(コマンド・ボタンやマウス・ショートカットメニューにつけると良いです)で設定します。 Sub ValidationSetting()  Dim VLrng As Range  With ActiveCell.Validation   Application.DisplayAlerts = False   On Error Resume Next   Set VLrng = Application.InputBox("範囲を指定してください", "入力規則設定", Type:=8)   If VLrng Is Nothing Then Exit Sub   On Error GoTo 0   Application.DisplayAlerts = True      If Err.Number > 0 Then Exit Sub   If VLrng.Columns.Count > 1 Then MsgBox "1列にしてください", vbInformation: Exit Sub   .Delete   .Add Type:=xlValidateList, _   AlertStyle:=xlValidAlertStop, _   Operator:=xlBetween, _   Formula1:="=" & VLrng.Address(1, 1, xlR1C1)   .IgnoreBlank = True  End With Set VLrng = Nothing End Sub

関連するQ&A

  • EXCELのリスト(入力規則)

    EXCELのデータ→データの入力規則の設定で、 入力値の種類を「リスト」にして、 「元の値」を別シートの範囲指定にすると、 その時は指定した別シートの値が表示されるのですが、 EXCELを保存・終了して再度そのファイルを開くと、 設定したはずの入力規則が綺麗に消えてしまっています。 「元の値」を同シートの範囲指定にすると、 保存・終了しても消えずに残っています。 なぜでしょうか?

  • エクセルの入力規則リストについての質問です。

    エクセルの入力規則のリストですが、リストの範囲を別シートの氏名一覧に指定したいのですが上手くいきません。 また、リストの中に選択したい氏名が無い場合は直接入力できるようにしたいのですがかのうでしょうか?

  • EXCEL 入力規則のリストについて教えてください

    EXCELの入力規則でリストを作っています。 以前、こちらで別なシートにある一覧をリストの元データにする方法を教えていただいたのですが、元データが別なブックにある場合はどうでしょうか? EXCEL2000、XP、2003を使っています。 よろしくお願いします。

  • Excelの入力規則のリストにカンマを表示したい

    Excelの「データの入力規則」でリストにカンマ(,)を表示したいです。 手順としてはメニューの「データ」-「入力規則」を選択し、 表示された画面で「設定」タブを選択し「入力値の種類」で「リスト」を 選択します。 その後、「元の値」でカンマ(,)が含まれたシートのセル範囲を選択すれば 表示されますが、直に値を「元の値」に指定する場合にカンマ(,)をエスケープする方法が分かりません。 お分かりの方は教えてください。

  • EXCELの入力規則のコピー方法について

    EXCELで入力規則をリストの使用法で困っています。状況は以下の通りです。 (1)入力規則を指定するためのリストに同じワークブックの別シート上のリストを指定します。  (2)このファイルを複数作って、別々に入力します。 (3)複数のファイルを1つにまとめるために、あるブックから別のブックにデータを入力規則ごとコピーすると、コピーした入力規則のリスト範囲が絶対パスになってしまい、元のブックとの間にリンクが発生してしまいます。 同じファイルなので、コピー先のファイルにも入力規則を指定するためのリストは存在していますので、データーのコピー時に絶対パスではなくて、相対パスになるようにしたいのですが、何かよい方法はありますか?

  • Excelでの入力規則について

    Excel2000を使用しています。 Excelでの入力規則で「リスト」を選択し、範囲指定をしてリストを作成したいと考えているのですが、その範囲の中に空白セルが存在するとリストにもその空白が出てきます。 これを表示させないようにするにはどうしたらよいでしょうか? よろしくお願いします。

  • エクセルの「入力規則」についてお尋ねします。

    エクセル2010です。 あるセルにデータの入力規則を設定します。 条件設定の入力値の種類を「リスト」にし、リストの値は、0,1,2,3と直接指定します。 これで設定したセルにはプルダウンで0,1,2,3を選択するか、直接0~3の数値の入力しかできなくなります。 ここまでは問題ないのですが、このセルにユーザー定義の書式、0"人"を設定して、1は1人と表示されるようにしました。そうすると、直接0~3の数値の入力ははじかれ、プルダウンで0,1,2,3を選択するしか入力ができなくなります。 リストに設定した値を正しく入力しているのに排除されるのはなぜでしょう? いろいろ試し、リストの値を、0,1,2,3と直接指定せず、セル範囲のリスト指定とし、そのセル範囲にもユーザー定義の書式、0"人"を設定しておけばクリアできました。 でも、たかだか数件のリストを指定するのにいちいちリストをワークシート上に作成し、そこにもユーザー定義の書式を設定しなければならないのは腑に落ちません。

  • EXCEL データの入力規則「リスト」について

    EXCEL データの入力規則のリストを使用するとき、マウスを使用せずキー操作だけでする方法はあるのでしょうか?

  • EXCELの入力規則のリストについて。その1(重複セル)

    Excel2000で入力規則のリストを設定しようとしています。 リストの元になる範囲のデータには重複するものがあります。 その重複するものを各1つずつリストに表示させることはできるでしょうか? 例 みかん   みかん りんご → りんご みかん   ぶどう ぶどう VBAは苦手なので、元になる範囲から関数などで別な場所に重複しない表を作り、それをリストに使用する方法でもいいなと思っています。 元になる範囲が変更される度に、更新や修正をしないでよい方法があれば助かるのですが。 どうかよろしくお願いします。 もう1つ「EXCELの入力規則のリストについて。その2(IFで空白にしたセル)」という質問もしておりますので、何卒そちらもよろしくお願いします。

  • エクセル入力規則で条件付きリスト

    エクセル入力規則で条件付きリスト 添付画像1のB・C列に入力規則を使ってプルダウン選択させたいと思っています。 ただ、選択の仕方として、Bの派遣先を選択するとC列では指定した派遣先のスタッフのみのリストしか出てこないように設定することはできるのでしょうか? 1.入力規則の機能でできるか? 2.もしできないのであれば他の方法で良い方法があるか? 知っている方がいましたら教えてくださいm(__)m よろしくお願いいたしますm(__)m

専門家に質問してみよう