質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.48%
VBA

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

Q&A

解決済

3回答

9571閲覧

VBA オートフィルター空白セル非表示

Yoshikun_0945

総合スコア224

VBA

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

0グッド

0クリップ

投稿2017/05/27 03:45

編集2017/05/27 05:20

#コード
コードにて実行しようとしているのは、オートフィルターにて、空白セルを非表示にし、さらに、targetで指定した文字列のみ表示する
という処理を実行したいのですが…
このコードを実行すると、フィルター範囲が1行も表示されない状態になってしまいます。

Range("$A$5:$G$2310").AutoFilter Field:=7, Criteria1:=target, _ Operator:=xlFilterValues

このコードを実行すると、空白行が表示されないみたいですが…表示されてしまいます。

ファイル形式はxlsです。
なお、targetは文字列型配列です。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

自己解決

配列の添え字エラーでした

投稿2017/05/27 07:32

Yoshikun_0945

総合スコア224

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hatena19

2017/05/27 09:39

質問文が知らない間に修正されている。 質問は、1行も表示されない or 空白行が表示されてしまう、?? 解決は、配列の添字エラー、意味がわからない??
guest

0

配列の添え字エラーでした

投稿2017/05/27 07:31

Yoshikun_0945

総合スコア224

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

Target というのはSrring型の変数で文字列が入っているのでしょうか。
だとしたら、

空白セルを非表示にし、さらに、targetで指定した文字列のみ表示する

ということは、条件は「targetで指定した文字列のみ表示する」でいいですよね。

Range("$A$5:$G$2310").AutoFilter Field:=7, Criteria1:=Target

Operator:=xlFilterValues は複数の値が格納されている配列をCriteria1に設定するときに指定します。
Target が配列の変数ならば、

Range("$A$5:$G$2310").AutoFilter Field:=7, Criteria1:=Target, Operator:=xlFilterValues

追記

下記のマクロの実行前と実行後を画像で提示します。

Sub Macro1() Dim Target As String Target = "bb" Range("$A$5:$G$2310").AutoFilter Field:=7, Criteria1:=Target End Sub

実行前
イメージ説明
実行後
イメージ説明

空白セルの行は非表示になります。

このように実際のコードと、実行前、実行後の画像を提示してもらえますか。

投稿2017/05/27 04:41

編集2017/05/27 06:17
hatena19

総合スコア33699

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Yoshikun_0945

2017/05/27 04:48

ご回答ありがとうございます 回答してくださったコードを実行すると空白セルも表示されてしまいます
hatena19

2017/05/27 05:01

このコードで、7列目が空白セルの行は表示されません。 7列目以外に空白セルがある場合も非表示にしたいということですか。
Yoshikun_0945

2017/05/27 05:15 編集

7列目で判断し、7列目が空白になっている行を非表示にして、targetで指定した文字列の行だけ表示したいのですが、ご回答いただいた下のコードで実行すると空白行・targetで指定した文字列の行が表示されてしまいます。 7列目以外に空白があっても7列目の条件にて表示・非表示を決定します。 xls形式のファイルに対してフィルターをかけようとしています。
hatena19

2017/05/27 06:17

回答に追記しましたので御覧ください。
Yoshikun_0945

2017/05/27 06:49

大変申し訳ございませんが、社外秘文章を扱っているため、画像化できません。 他の文章で検証いたしましたところ正しく作動致したため、私が実行しようとしている文書側に問題があるものと思われます。
hatena19

2017/05/27 07:26 編集

社外秘文書そのままでなく、 症状を再現できるデータ、条件を探すというのは、 このような想定外の問題が出るときの解決のためにとる手段です。 Target にどのような文字列を設定した時症状がでますか。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問