[[20060718102207]] 『ドロップダウンリストの絞込み』(Nori) >>BOT

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『ドロップダウンリストの絞込み』(Nori)
 いつも、この学校にはお世話になっております。
 今回もアドバイスをお願いします。
 今、セルに名前を付けて、ドロップダウンリストを使用しているのですが、
 そのドロップダウンリストについて、絞込みを行いたいのですが、出来るでしょうか?

 具体例を挙げると、今、Sheet1:B5にて入力規制を使用し、選択出来る様にしています。(入力規制用のセルの参照先は別シートです。)
 ですが、参照しているセルの量が多い為、ドロップダウンリストから探すのが大変です。
 ですので、Sheet1:A5に絞込み用のセルを作り、その絞込み用セルに入力された数値を含む値のみを
 Sheet1:B5にドロップダウンリストとして表示する様にしたいのですが…
 この様な事は出来るのでしょうか?
 (Nori) 

 こんな感じの事ですか?
[[20051024111302]]『リストから選択』(若葉マーク)

 (HANA)

 上のリンク先は
 グループ分けをしておいて、選択したグループ毎に次のドロップダウンリストの
 値を変える方法なので、やりたいこととは違うようですね。
 スルーしてください。

 (HANA)

 絞り込んだ選択肢の数だけの短いリストにするのはかなりやっかいなので、リストは
 長いままですが、関係ない選択肢の所は空白にする(つまり、関係ある選択肢だけが
 表示される)のではいかがでしょう?
 これは、元リスト(A列の各セル)に対して対象か否かを判定し、対象ならその値を、
 対象でないなら空白としたものを(B列に)作成し、そこを入力規則参照先にします。
 (ちゅうねん)

 HANAさん、ちゅうねんさん、レスありがとうございます。
 試行錯誤した結果、なんとか出来ました。
 ありがとうございます。
 (Nori)

 せっかく出来たのなら披露していただけると
 今後に繋がると思うので嬉しいです。

 (HANA)

 おもろそうなので作ってみました^^
 Sheet1のシートモジュールに貼り付けます。
 リストはSheet2のA列にあるものとして作っています。
 (ROUGE)
'----
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim mylist As String, tbl, i As Long
    If Target.Count > 1 Then Exit Sub
    If Target.Address(0, 0) <> "A5" Then Exit Sub
    tbl = Worksheets("Sheet2").Range("A1").CurrentRegion.Resize(, 1)
    For i = 1 To UBound(tbl, 1)
        If tbl(i, 1) Like "*" & Target.Value & "*" Then _
        mylist = mylist & tbl(i, 1) & ","
    Next
    mylist = Left(mylist, Len(mylist) - 1)
    With Range("B5").Validation
        .Delete
        .Add Type:=xlValidateList, Formula1:=mylist
    End With
End Sub

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.