- ベストアンサー
【Excel】シート上のドロップダウンリストから検索するには
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 >ドロップダウンリストをsheet1にフォームツールバーから描きます。 最初に、ドロップダウンリストというのは何でしょうか? フォームには、ドロップダウンリストという名前のコントロールがありません。それは、コンボボックスではないでしょうか? 今回の場合は、いずれにしてもマクロが必要ですから、一般的には、コントロールツール側から作ったほうが一般的には分りやすいかもしれません。 いろいろ試行錯誤してみましたが、私ですと、このようなマクロを提示できます。 フォーム側からですと、以下のような設定マクロが必要です。 Visual Basic Editor 画面で、SettingFormButtonのコード上にカーソルを置き、F5 を押せば、設定されます。 なお、以下のマクロは、もしかしたら、Version によって左右する可能性があるので、例えば、2003などでは、うまくいかないかもしれません。 '<Sheet1 モジュールのみ> Option Explicit Sub SettingFormButton() 'フォームのボタンの設定マクロ Dim Bt As Button On Error GoTo ErrorHandler Set Bt = Sheet1.Buttons(1) Bt.OnAction = "Sheet1.ButtonAction" ErrorHandler: If Err.Number > 0 Then MsgBox "ボタンがありません。", vbCritical Else MsgBox "設定できました。" End If End Sub Private Sub ButtonAction() 'フォームのボタン用マクロ Dim i As Integer, myListfill As String Dim ret As Variant On Error GoTo ErrHhandler myListfill = Sheet1.DropDowns(1).ListFillRange i = Sheet1.DropDowns(1) ret = Application.Evaluate("Index(" & myListfill & "," & i & ",1)") If Not IsError(ret) Then Worksheets(i + 2).Range("A1").Value = ret End If ErrHhandler: If Err.Number > 0 Then MsgBox Err.Description, vbCritical Else Beep '確認用の音 End If End Sub エラーの中で、「Index が有効範囲にはありません」と出たら、それは、シート数が不足しているからです。また、リストの順番とシートの順番に対応しているのであって、Sheet3 という名称に対してではありません。
その他の回答 (1)
- imogasi
- ベストアンサー率27% (4737/17068)
>sheet2のA1:A5を表示させます ListFillRangeですね。であればA1:A5のセルに入っている値が表示されるわけです。たとえばa、b、c、d、eと各セルに入っているとする。 >ドロップダウンリストでA1を選択し これは私の例で言うとaをクリックするのでしょうか。 それとも文字列の”A1”がA1セルに入っているということですか >sheet3のA1を表示させる・・・ Sheet3のA1セルの値を表示するのですか。 セルの名前か、セルの値(内容か)かが混乱して、私には判りにくいのですが。 >A2はsheet4、A3はsheet5という風に表示させたいのです この対応性はどこから来るのですか。
お礼
ご質問していただいてありがとうございます。 少し考えて出来てしまいました。 ありがとうございました。
関連するQ&A
- エクセルのドロップダウンリスト
エクセルのドロップダウンリストについて、困っていることがあります。 たとえば、 ・Aシート A列|B列|C列 1|ペン|200 2|鉛筆|100 3|本|200 ・Bシート A列|B列 ペン(ドロップダウンリスト)|200 という風に、Bシートのドロップダウンリストを選択すると、動的に200と隣のセル(B列)に表示するようにするにはどのようにすればいいでしょうか? よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- ドロップダウンリストを大きくしたい。
エクセル2000です。 入力規制でドロップダウンリストからの選択で入力しています。 リストデータが30件あったとして、ドロップダウンリスト内にその30件一度に表示させることはできないでしょうか?(10件程度しか表示されず、スクロールさせています) または、表示件数を増やすような設定は、ないでしょうか?
- ベストアンサー
- オフィス系ソフト
- ○、×のドロップダウンリストを作りたい。
エクセルで「○」か「×」かを選択できるように ドロップダウンリストを作りたいのです。 ドロップダウンリストに表示させたい 「○」「×」を別のセルに入力して、選択するように しているのですが、これを表示させないようにするには どうしたらよいのでしょうか? つまり、私がしていることは データ→入力規則→入力値の種類を「リスト」にする→元も値を「○、×が入力してあるセル を選択しているのです。」 この、元の値のセルの値が邪魔なのです。 どうぞ、よろしくお願いします。
- ベストアンサー
- その他MS Office製品
- エクセルのドロップダウンリストについて(再)
ドロップダウンリストで、参照先のリストは、単一の行、もしくは列でないといけないともいますが、たとえば、A1列にあらかじめ設定されたドロップダウンリストを表示(※ドロップダウンリストの右隣の▼ボタンを押したときに表示される内容です。)させたときに、A0001などのリストの隣、もしくは下にそれに対応する商品名を表示させるにはどうしたらいいのでしょうか? 先程やっていたら偶然にできたのですが、しばらくしたら更新されやり方が分からなくなりました。
- ベストアンサー
- その他MS Office製品
- ドロップダウンリストのボタン
エクセル2003です。 入力規則で挿入したドロップダウンリストを選択するボタンが表示されなくなってしまいました。どこかいじくったような気がするんですが。わからなくなりました。
- 締切済み
- オフィス系ソフト
- ドロップダウンリストについて
ドロップダウンリストを使いたいと考えています。 50名ほどの名前をドロップダウンリストにて選択し、 1度選択した名前を使えないようにしたいと考えています。 どうすればいいのでしょうか?? 教えてください。よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- 特定のドロップダウンリストを表示させるには?
ホームページで、メールフォームの一部にドロップダウンリストを使用しています。通常はユーザーの方にリストから一つ選んでもらっているのですが、特定のリンク元からメールフォームのページに飛んだときにのみ、あらかじめ指定のリストを選択状態にしておきたいと考えています。 つまり、デフォルトのドロップダウンリストを表示させる場合と、それとは異なるリストを表示させる場合とを使い分けたいのですが・・・可能でしょうか。 HTMLか、JavaScriptか、CGIか・・・いろいろ調べてみたのですが、分かりませんでした。 どなたか、教えてください!!
- ベストアンサー
- HTML
- エクセルでのドロップダウンリスト作成について
エクセルで、3つの項目(A,B,Cとします)をドロップダウンリストから選択する場合、A,B,Cを『名前の定義』で関連付けることはできました。しかし、A,B,Cが同じ文字列の場合、同シート上で同じ名前の定義にできないため、ドロップダウンリストが作成できずにいます。 このようなドロップダウンリストを作成するにはどのようにすれば良いか教えてください。 VBAなどが必要になるのでしょうか? 宜しくお願いします。
- 締切済み
- その他MS Office製品
- ドロップダウンリストの連動
いつも大変お世話になっております。 エクセルで、セルO6にA社とB社を名前の定義で登録しドロップダウンリストで選択できるようにしました。 セルD14に、セルO6でA社を選択した場合には、A5052(H)とA5052(R)がドロップダウンリストで選択でき、同じく、セル14に、セルO6でB社を選択した場合には、アルハイスとアルジェイドがドロップダウンリストで選択できるようにしたいです。 こちらで拝見したり、ネットで調べたのですが、列が同じの場合はやれそうでしたが、同列以外ではできませんでしょうか? (INDIRECTや、ドロップダウンリストを使用してやったりできるのでしょうか) 説明が上手く出来ず申し訳ありません。 ご教授して頂けたらありがたいです。 よろしくお願いします。
- ベストアンサー
- Excel(エクセル)
- ドロップダウンリストとIF関数
ドロップダウンリストから選択すると指定の数値を出したいのですが、IFを複数設定するにはどうすればよいでしょうか?リストから「A」を表示すると同じシート内の別の場所に「1」、「B」ならば「2」と表示させたいです。「=IF(A1=B1,C1)」の式でひとつは可能なのですが複数ある場合の方法が分からないので教えて下さい。
- ベストアンサー
- Windows XP
お礼
ご質問していただいてありがとうございます。 少し考えて出来てしまいました。 お時間とらせてすみません。 ありがとうございました。
補足
回答ありがとうございます。 補足します。 ・sheet1にコントロールツールボックスからComboBox1というコンボボックスを書きます。 ・プロパティのListFillRange欄にSheet2!A1:A5といれておきます。 ・コンボボックスからA1を選択し、同じsheet1内にあるCommandButton1をクリックするとSheet3が表示されます。 記述していただいた内容はシートに書いたComboBoxとCommandButtonに対して記述するのでしょうか? すみません。初心者で・・・ よろしくお願いします。