質問するログイン新規登録

Q&A

解決済

2回答

5643閲覧

AutoFilterにて、特定の行・列にフィルターを追加したい。

same_2614869

総合スコア6

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2021/09/24 13:17

0

0

前提・実現したいこと

VBAにて、AutoFilterを用いて特定の行・列からフィルターを追加する方法を探しております。

条件
1.対象となる表は、A~M列まで内部計算に用いる表が入力されており、フィルターを掛けて実際の計算に用いたい表はV~Z列に入力されている。

2.フィルターに用いる値はW列・16行目以下に入力されており、W列・15行目にフィルターを設置したい。

AutoFilterという記述を用いればよいということはわかったのですが、下記のように記載しても、15行目のW列ではなく、15行目のB列(内部計算に用いる値が入力されているセル)からフィルターがかかってしまいます。

こちらの問題を解決するには、どのように記述を行えばよいのでしょうか。
お知恵を拝借したく、よろしくお願いいたします。

発生している問題・エラーメッセージ

該当のソースコード

VBA

1Rows(15).AutoFilter _ 2 23, _ 3 "<=" & SettingSht.Range("setting").Value

試したこと

Rows(15)ではなくRange("W15")のようにフィルターを掛けたいセルを直接指定しても解決できませんでした。

補足情報(FW/ツールのバージョンなど)

Excelバージョン:2016

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

guest

回答2

0

ベストアンサー

W列の15行目以降にフィルタを掛けたい、ということですよね(対象は1列のみ)。
であれば、以下のように範囲指定してあげればよろしいかと

VBA

1Range("W15:W100").AutoFilter

投稿2021/09/24 23:41

hex309

総合スコア761

same_2614869

2021/09/25 17:10

ご回答頂きありがとうございます。 頂いた内容を試しましたところ、W列以降にフィルター表示はされたのですが、やはり1行目にフィルターがかかってしまいました。 他の方法も試してみたのですが、どの方法もうまくいかず、最終的に該当の表を別シートに値貼り付けし、そちらでフィルター掛けして計算を行うようにしました。 その際はご教示いただいた方法で、適切な位置にフィルター掛けして計算を行うことができました。 ご回答頂きありがとうございます。
guest

0

雰囲気としてはこんな感じでしょうか。

VBA

1Range("V15").CurrentRegion.AutoFilter 2, "<=" & SettingSht.Range("setting").Value

投稿2021/09/25 02:47

jinoji

総合スコア4592

same_2614869

2021/09/25 17:10

ご回答頂きありがとうございます。 頂いた内容を試しましたところ、W列以降にフィルター表示はされたのですが、やはり1行目にフィルターがかかってしまいました。 他の方法も試してみたのですが、どの方法もうまくいかず、最終的に該当の表を別シートに値貼り付けし、そちらでフィルター掛けして計算を行うようにしました。 その際はご教示いただいた方法で、適切な位置にフィルター掛けして計算を行うことができました。 ご回答頂きありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.25%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問