標題の「オートフィルターで指定した値」とは、「オートフィルタによる絞り込みの条件とした値」という意味でよろしいでしょうか?
A 列に数値データがあり、それを 1 種類の値のみに絞り込むという場合、次式によりその値を取得できます。この数式は、平均値を求めています。したがって A 列に複数の種類の値が表示されている状態では、小数などを返します。
=subtotal(1,a:a)
文字列などの数値でない値であっても取得するには、マクロを使います。オートフィルタがあるシートのシートタブを右クリック、「コードの表示」から表示されるコードウィンドウに次のコードを貼り付け。
絞り込んだ瞬間ではなく、その次にカーソルを動かした瞬間に、E1 セルに絞り込み条件となっている値を記入します。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With Me
If .AutoFilterMode Then
With .AutoFilter.Filters(1)
If .On Then Range("e1").Value = Replace(.Criteria1, "=", "")
End With
End If
End With
End Sub
お礼
ご回答ありがとうございます。 >「オートフィルタによる絞り込みの条件とした値」という意味でよろしいでしょうか? 記載して頂いた通りの意味です。言葉があいまいで申し訳ありません。 教えて頂いたSUBTOTAL関数の方でうまくいきました! ただ、VBAの方も試したのですがうまく動きませんでした。 オートフィルタの絞り込みの値を変更後、別のセルにフォーカスを移動させたのですが、数値が表示されませんでした。。。