最初のシート(ユーザーインターフェイス)のフィルター値を、2 番目のシートのフィルター値と一致させる

最初のシート(ユーザーインターフェイス)のフィルター値を、2 番目のシートのフィルター値と一致させる

私はインターフェース ダッシュボードを作成しようとしています - 以下にスクリーンショットをいくつか示します。コンセプトは、メイン ページのドラッグダウン リストからフィルターされた値をリンクして、2 ページ目の 1 つの列にある同じフィルターされた値にリンクすることです。さまざまな変数で動作させることができないようです。

ここにいくつかのスクリーンショットと現在の VBA コードがあります。ここで何が間違っているのでしょうか? または、これに代わる方法はありますか?

ここに画像の説明を入力してください

ここに画像の説明を入力してください

コード: 

Range("T8:V8").Select
Sheets(" Detail (Internal)").Select
ActiveSheet.Range("$A:$CT").AutoFilter Field:=16, Criteria1:=Range("T8").Value

皆様のご協力に感謝いたします。

答え1

選択しても何も得られません。選択と ActiveSheet の使用は安全ではありません。

変数を定義する必要があります

Dim sheet1 As Worksheet, sheet2 As Worksheet
Dim range1 As Range, range2 As Range

次に、シートと範囲への参照を取得して使用します。次のようにします。

Set sheet1 = ThisWorkbook.Sheets("Sheet1")
Set range1 = ThisWorkbook.Sheets("Sheet2").Range("T8")
sheet1.Range("$A:$CT").AutoFilter Field:=16, Criteria1:=range1.Value

または

Set range1 = ThisWorkbook.Sheets("Sheet1").Range("$A:$CT")
Set range2 = ThisWorkbook.Sheets("Sheet2").Range("T8")
range1.AutoFilter Field:=16, Criteria1:=range2.Value

または

Set sheet1 = ThisWorkbook.Sheets("Sheet1")
Set sheet2 = ThisWorkbook.Sheets("Sheet2")
sheet1.Range("$A:$CT").AutoFilter Field:=16, Criteria1:=sheet2.Range("T8").Value

等々...

関連情報