|
A B
1 果物 みかん
2 野菜 白菜
3 菓子 チョコレート
4 果物 いちご
5 野菜 大根
このような入力画面があります。
Bの列に Bの列の入力履歴を リストとして設定しました。
あと、A列で 果物と入力されたら B列につくるリストは 入力履歴の中からさらに絞り込みリストを
「みかん、いちご」 となるように出来ますでしょうか?
下記をいろいろ触ってみたのですが、わかりません。
よろしくお願いいたします。
'****************************
Public Function GetSummary(RR As Range) As Variant
'返す配列の添え字下限は0
Dim r As Range
Dim Dic As Object
Dim K As String
Dim V As Variant
Set Dic = CreateObject("Scripting.Dictionary")
For Each r In RR.Cells
K = r.Value
If K <> "" Then
Dic(K) = Empty
End If
Next
V = Dic.keys
Set Dic = Nothing
GetSummary = V
End Function
'****************************************
Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'セルが選択されたとき
:
:
ElseIf 列 = 2 Then '階の自働リスト
Dim myList As String
myList = Join(GetSummary(Columns(列)), ",")
With ActiveCell.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:=myList
.ShowError = False
End With
:
;
|
|