[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『ドロップダウン3連続』(xxxx)
ドロップダウン-ドロップダウン-ドロップダウンなのですが、
ドロップダウン1-ドロップダウン2-ドロップダウン3
A-a-α A-a-β A-a-γ A-a-δ A-a-ε A-b-α A-b-β A-b-γ A-b-δ A-b-ε B-a-α B-a-β B-a-γ B-a-δ B-a-ε B-b-α B-b-γ B-b-δ B-b-ε C-a-α C-a-β C-a-γ C-a-δ C-a-ε C-b-α C-b-β C-b-γ C-b-ε (A,B,Cは文字列、a,b,α〜εは数字) これをドロップダウン1,2,3の順で連動させたいです。 名前定義ではうまくいかない(ドロップダウンで重複する)のでうまくいきません http://www.geocities.jp/chiquilin_site/data/101109_screening3.html ↑この方法が一番有力かと思いますが、1枚のシートで行いたいので、 なにかいい方法はないでしょうか?(excel2003です)
面倒で無ければ [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [1] A-a A-b B-a B-b C-a C-b 項目1 項目2 項目3 [2] β α α α α α B a β [3] γ β β γ β β [4] δ γ γ δ γ γ [5] ε δ δ ε δ ε [6] ε ε ε [7] A2:A5を A_a B2:B6を A_b C2:C6を B_a D2:D5を B_b ・・・・・・ の様に名前定義し、J2の入力規則で 元の値に =INDIRECT($H2&"_"&$I2) の式を入れて 「元の値はエラーと判断されます。続けますか?」と脅されても [OK]で設定するのはどうでしょう?
(HANA)
実際にやってみてうまくいきました。
現在マクロでこれが出来ないか?いう話があるので、
同様のことをマクロで出来ないでしょうか?
よろしくおねがいします。(xxxx)
データ位置は A1:An 。。。。。。。(項目名なし)
入力規則は H1:J1000で良いですか。
(Cod)
データの位置はA,B,Cのの行でお願いします。
入力位置はD1、E1、F1の順で連動するようにお願いできますでしょうか?
(xxxx)
私からのお願いです!!!
もしも他のサイトにも類似の質問をされていて、そちらがマルチ禁止なら
放置せずに回答頂いている方にお礼を言った上で『終了』させて下さい。
注)私の誤解ならご容赦願います。<m(__)m>
''---------------------------------------------/*Data のある シート・モジュールに貼り付け ''---------------------------------------------/*★最初にA1をダブルクリック Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Target(1).Address = "$A$1" Then ToDic Vlist Range("D1:D1000"), Dic.keys Cancel = True End If End Sub Private Sub Worksheet_Change(ByVal Target As Range) Select Case Target(1).Column Case 4 Vlist Range("E1:E1000"), Dic(Target(1).Value).keys Case 5 Vlist Range("F1:F1000"), Dic(Target(1).Offset(0, -1).Value)(Target(1).Value).keys Case Else End Select End Sub ''---------------------------------------------/*Module1 など標準モジュールに貼り付け Public Dic Sub ToDic() 'Dictionaryに登録 Dim W1, Wx, i
Set Dic = CreateObject("Scripting.Dictionary") W1 = Range("A1").CurrentRegion.Value For i = LBound(W1) To UBound(W1) Wx = Array(W1(i, 1), W1(i, 2), W1(i, 3)) If Not Dic.exists(Wx(0)) Then Set Dic(Wx(0)) = CreateObject("Scripting.Dictionary") If Not Dic(Wx(0)).exists(Wx(1)) Then Set Dic(Wx(0))(Wx(1)) = CreateObject("Scripting.Dictionary") Dic(Wx(0))(Wx(1))(Wx(2)) = True Next End Sub Function Vlist(P1, P2) '入力規則の作成 With P1.Validation .Delete .Add Type:=xlValidateList, Formula1:=Join(P2, ",") End With End Function
(Cod)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.