私は少し読んでいて、ask SOポイントに達しました。名前を変更できるExcelのドロップダウンセレクターがあり、名前が変更されると「C3」の値が変更され(c3は別のシートの別のセルを参照します)、「C3」の値が変更されると変更されます「C3」の新しい値を反映するように、別のシート (現時点ではシート 6) のピボット テーブルで地域 ID のフィルターを更新する必要があります。
私にはイベントのように聞こえるので、調べてみると、VBA にイベントがあることがわかりました (イェイ!)。そこにあるコードは、マクロとして実行すると機能しますが、セル「C3」の値が変更されるたびに自動的に実行されるようにしたいと考えています。
これが私がこれまでに試したことです:
Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Sheets("Current Status").Range("C3")) Is Nothing Then
Sheets("Sheet6").PivotTables("PivotTable5").PivotFields("territory_id"). _
ClearAllFilters
Sheets("Sheet6").PivotTables("PivotTable5").PivotFields("territory_id").CurrentPage _
= Sheets("Current Status").Range("C3").Value
End If
End Sub
更新: 上記のコードを新しいモジュールではなくシート セクション (シート 2) に配置すると、物理的にコードを入力して Enter キーを押すと実行できることがわかりました。今、手動で値を入力してEnterキーを押すことなく、それを行う方法があるかどうか疑問に思っています. ドロップダウンメニューを使用して新しい名前を選択できるようにしたいだけで、ドロップダウンセレクターが原因で c3 の値が変更されたときにピボットテーブルが更新されます。
SOさん、いつもありがとうございます。