エクセルの関数とマクロの質問です。 ①『sheet2』の『B3~』を重複なしのドロップダウンリストを『sheet1』の『C15』に作成

Excel | Visual Basic101閲覧xmlns="http://www.w3.org/2000/svg">100

ベストアンサー

0

回答ありがとうございます。 1つこちらの記入ミスなのですが、最後のドロップダウンリストから選んだ後に表示される『W3』はsheet2のW3にしたいのですがどこを修正すればよいでしょうか?

ThanksImg質問者からのお礼コメント

返信ありがとうございます。 希望通りの動きをすることが出来ました。 この度は回答ありがとうございました。

お礼日時:6/29 14:32

その他の回答(1件)

0

まず、このままではドロップダウンはできません。ドロップダウン領域を作ります。 Sheet2 E1: =MAX(D:D) D3: =D2+(COUNTIF(B$3:B3,B3)=1) E3: =IFERROR(INDEX(B:B,MATCH(ROW()-2,D:D,0)),"") D3:E3 を下へコピペ。 バージョンか判らないので、旧バージョン対応し気にしました。 新バージョンならuniqueでできますが、省略します。 Sheet1 C15 データの入力規則、リスト 元の値: =OFFSET(Sheet2!$E$3,,,Sheet2!$E$1) Option Explicit ' Private Sub Worksheet_Change(ByVal Target As Range)     Dim I As Worksheet '     If Target.Address <> "$C$15" Or Target = "" Then         End     End If '     Set I = Sheets("Sheet2")     I.AutoFilterMode = False     I.[B2:C2].AutoFilter 1, Target     Application.EnableEvents = False     I.[C3:C65536].Copy [W3]     Application.EnableEvents = True     I.AutoFilterMode = False End Sub シートモジュールに入れて下さい。 シート名の所を右クリック、コードの表示を選び、そこに入力して下さい。

画像

回答ありがとうございます。 D,E列は別で使用しているので難しそうでした。 uniqueは質問前に検索で出てきたので使用してみましたが反応なしでした。(エクセル2016だと無理?)