Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Pro : Excel 2016)
オートフィルタの範囲の設定について
投稿日時: 19/05/30 20:33:08
投稿者: moriQQ

オートフィルタで例えば50〜150までの間で、シート1にデータが入っていまして
シート2のA1に例えば東京・神奈川・・など複数の県名、B1に50などの変化する
C1は同じく変化する数値(150)以内の数字を入力して、フィルタの条件を表示させたいのですが、
マクロで記録してみたのですがよくわからないので、どのような構文になるのか教えていただきたく
こちらの質問をしました。
 
Sheets("2016-18").Select
    ActiveSheet.Range("$A$2:$BQ$1043").AutoFilter Field:=56, Criteria1:=">=56" _
        , Operator:=xlAnd, Criteria2:="<=60.9"
    ActiveSheet.Range("$A$2:$BQ$1043").AutoFilter Field:=3, Criteria1:="東京"
    ActiveWindow.SmallScroll Down:=-12
 
このように記録しまして・・
C[color=red]riteria1:=">=56" _
        , Operator:=xlAnd, Criteria2:="<=60.9"

    ActiveSheet.Range("$A$2:$BQ$1043").AutoFilter Field:=3, Criteria1:="この部分"
 
赤のところをどのようにすれば任意の数値でフィルタをかけられるのでしょうか?

回答
投稿日時: 19/05/30 21:17:46
投稿者: simple

    Dim pref As String
    Dim low As String
    Dim high As String

    pref = Worksheets("Sheet2").Range("A1").Value
    low = Worksheets("Sheet2").Range("B1").Value
    high = Worksheets("Sheet2").Range("C1").Value

    ActiveSheet.Range("$A$2:$BQ$1043").AutoFilter _
        Field:=56, Criteria1:=">=" & low, _
        Operator:=xlAnd, Criteria2:="<=" & high
    ActiveSheet.Range("$A$2:$BQ$1043").AutoFilter Field:=3, Criteria1:=pref
こういうことでしょうか。
私は動かして確認していないので、すみませんが確認してみて下さい。

回答
投稿日時: 19/06/01 10:36:25
投稿者: mori99

ありがとうございました、バッチリ動きました感謝です。
返信遅くてすみませんでした。

投稿日時: 19/06/03 20:21:45
投稿者: moriQQ

ありがとうございました。ちゃんと動いてうれしい限りです。