ベストアンサー ※ ChatGPTを利用し、要約された質問です(原文:オートフィルタ「すべて選択」をVBAでやりたい) VBAでオートフィルタのすべて選択を実行する方法 2016/08/17 01:38 このQ&Aのポイント エクセルで複数列にフィルタを設定しているときに、一括でフィルタを「すべて選択」にできるVBAマクロの作り方を教えてください。フィルタリングの範囲を設定した状態で、全列に対して一括して「すべて選択」をチェック付けてデータを表示しなおすVBAの書き方を教えてください。VBAを使用して、エクセルの複数列に設定されたフィルタを一括で「すべて選択」にする方法を教えてください。 オートフィルタ「すべて選択」をVBAでやりたい エクセルで複数列にフィルタを設定しているときに 一括でフィルタを「すべて選択」にできるマクロを作りたいです。 例えばA1~F10にまでフィルタリングの範囲を設定したとします。 ただし、一部の行列(3行目とかD列とか)だけは非表示設定にします (フィルタリングではなく右クリックから非表示にします) さて、今、列以上に対して同時にフィルタリング抽出をかけた場合 全列に対して一括して「すべて選択」をチェック付けた状態にし 全データを表示しなおすにはどのようなVBAを書いたらよいでしょうか? ※元々フィルタリングを使わず非表示にしている個所は、 マクロを走らせた後も非表示のままになるようにするという前提で ご回答くださいますようお願いします。 質問の原文を閉じる 質問の原文を表示する みんなの回答 (1) 専門家の回答 質問者が選んだベストアンサー ベストアンサー kagakusuki ベストアンサー率51% (2610/5101) 2016/08/17 05:33 回答No.1 以下の様なマクロでは如何でしょうか? Sub Macro() With ActiveSheet If TypeName(.AutoFilter) = "AutoFilter" Then If .AutoFilter.FilterMode Then ActiveSheet.ShowAllData End If End With End Sub 質問者 お礼 2016/09/03 04:02 遅くなってすみません‼︎ありがとうございます‼︎ 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 カテゴリ パソコン・スマートフォンソフトウェアExcel(エクセル) 関連するQ&A エクセルVBA オートフィルタについて オートフィルタは2つまでしか条件が設定できません。 3つ以上設定する方法はないでしょうか?(OR条件です) オートフィルタの引数(Criteria)は2つしかありませんから、恐らく3つ以上の設定はできないと思っています。 そこで、オートフィルタを複数回設定し、使っていない列に特定の文字(例えば○など)を入れ、最後にこの○を条件にすることにより、実質的に3つ以上条件のフィルタリングを実現させたいと考えております。 そこでお聞きしたいのは、各条件でフィルタリングした時に、任意の列に○を入れる方法です。 例えば myRng.AutoFilter Field:=4, Criteria1:="=?UA*" でフィルタリングしたエリアの特定の列に○を入れるにはどのようなVBAになるのでしょうか? オートフィルタを使わず、ループで全行の条件を聞いて、○をつけることは可能ですが、行数が非常に多いので時間がかかってしまいます。 オートフィルタを使えばすばやく該当行が選択されますので、何とかこれを利用したいと思っています。何か良い方法は無いでしょうか? よろしくお願いします。 Excel VBAでオートフィルタで抽出したデータの一部だけ貼り付けるには いつもこのコーナーでは皆様にお世話になっております。以下のVBAマクロが組める方ご教示ください。 Sheet2にあるデータに複数条件でソートをかけ、ある数字(1から18まで)を入れたら、オートフィルタでE列のデータの選択部をSheet1のある部分に1行貼り付けるという作業です。以下のInputBoxに数字を入れるところからです。 (ソート後、どの数字を入れるか判断) ↓ InputBoxにある数字"○"(1から18まで)を入れる ↓ オートフィルタE列「"○-"で始まる」or「"-○"で終わる」 ↓ 抽出されたデータのE列(1列だけ)のデータ(上から17個分)を選択 ↓ 選択部をコピー ↓ Sheet1を選択。Sheet1の"K5"セルに行列を入れ替えて貼り付け という流れなのですが・・・ わかる方教えてください。よろしくお願いします。 エクセルのシート上でオートフィルターを使った際に関する、VBA上でのコードの記述について 大変稚拙な質問の仕方をお許しください。 エクセルのシート上で、オートフィルターを使ってデータを抽出した前提で、VBAを使ってある作業をするためのマクロを組もうと思ったのですが、抽出されて表示された一番最初データの行を確定させるコードの記述が思い浮かびません。なにかいい方法はないでしょうか?よろしくお願いします。 携帯料金を賢く見直す!格安SIMと端末選びのポイントは? OKWAVE コラム オートフィルタ後のすべて表示について 現在オートフィルタのオプションに*検索語*を入力し抽出しております。抽出した行の番号をクリックしライン(しるし?・影?)をつけます。そして、ツールバーにユーザー設定で作成した「すべて表示」をクリックします。 その際 抽出した行が表示される(検索した行まで戻る)時とされない時があります。 どのようにすれば、いつも検索された行が出る様になりますか? 宜しくお願いします。 オートフィルタ使用時のマクロによるセルの移動 オートフィルタによって抽出した結果、表示されている行の内容を順々に参照していきたいのですが、 どうすればよいのでしょうか? 簡単なことのような気がするのですが・・・。 ActiveCell.Offset(1, 0).Select とすると、フィルタによって非表示になっている行にも移動してしまいます。 フィルタによって抽出する項目は複数の列を使用するので、マクロでは抽出条件を設定しません。 以上、お願いしまーす。 エクセル2010 オートフィルタ 不要な行 『一定の範囲にオートフィルタを設定し、 任意の列でフィルタリングを掛けた結果上で、 垂直スクロールバーを一番下まで落とすと、 フィルタリングされた結果の最下行まで落ちる』 これを「正しい」現象として、今まで認識していましたが、 本日、以下のような現象が起きました。 最後の一文のみ、変わります。 『一定の範囲にオートフィルタを設定し、 任意の列でフィルタリングを掛けた結果上で、 垂直スクロールバーを一番下まで落とすと、 フィルタリングされた行より更に下(フィルタリング対象範囲外)の行まで余分に落ちる』 これは、何故でしょうか。 私の認識する「正しい」挙動に修復することは可能でしょうか。 余分なデータが認識されているのではと考え、 オートフィルタ範囲外の行列は一度削除し、 また『最後のセル』位置も、オートフィルタ範囲内の一番右下であると確認済みです。 オートフィルターで一つずつ抽出したものを.... Bの行にオートフィルターをかけ、列の11で一つずつ抽出したものをコピーし、新規シートに貼り付けたいのですがどうやれば良いですか? 見出し『商品』として抽出されるもの全て新規シートにそれぞれコピーしたいです。 VBAの場合、初心者ですのでわかりやすくお願いします。 わかる方には面倒な事ばかりで申し訳ありませんが宜しくお願いします。 エクセル2010です。 オートフィルタオプションをVBAで指定したい 表中に、このような列があるとします。 肩ロース100g 肩ロース500g ヒレ100g ヒレ250g ヒレ500g レバー100g レバー250g 他の列には注文日や個数、小計金額があるとします。 オートフィルタをかけて、フィルタオプションで「○○で始まる」を指定し、例えばレバーの行のみを手作業で抽出することはできます。 この動作を、フィルタオプションでの設定を経由せずに行えないものでしょうか? たとえば、別の列などに「肩ロース」「ヒレ」「レバー」が記載されていて、そのデータを元にオートフィルタの▼をクリックすると「肩ロース」「ヒレ」のように抽出条件データが表示される、というふうには出来ないものでしょうか? VBA等を使用しても構いません。 抽出項目は固定ですので、コード中に記述しても構いません。 動作が要望を満たせば、オートフィルタを使用しなくても構いません。 フォームウィンドウで抽出項目を指定し、その項目をCriteria等に設定してフィルタオプションでも構いません(この方法は自力で出来そうですが)。 良い方法があれば、お教え下さい。 マクロ オートフィルタで困っています。 マクロ オートフィルタで困っています。 1列目と2列目からそれぞれ条件をフィルタで抽出し、抽出された行を削除するマクロを組んだのですが(下記)、Bの条件が表にない場合に2行目から下が全て削除されてしまいます。 元の表は毎週変わるため、抽出する条件があるかないかはその時次第です。 オートフィルタにこだわってはいませんが、その他の抽出方法もいまいち分からず……。 どのようにすればよいのか、教えていただけますでしょうか。 宜しくお願い致します。 <マクロ> Sub Macro() Selection.AutoFilter Field:=1, Criteria1:="A" Selection.AutoFilter Field:=2, Criteria1:="B", Operator:=xlAnd Dim gyou(1) As Long gyou(0) = 2 gyou(1) = Range("A1").CurrentRegion.Rows.Count Rows(gyou(0) & ":" & gyou(1)).Select Selection.Delete Shift:=xlUp End Sub excel 2003 オートフィルタ! excel 2003で、オートフィルタがうまくいきません。 A列の2行目から、1~5までの数字がランダムに並んでいるとします。 A1セルをオートフィルタし、 条件を、オプション>3を含む で指定すると、3がフィルタされてほしいのですが 1つも抽出されません。 3で始まるもだめでした・・ フィルタで抽出するマクロをくんでいて 列は、20列以上あり、 列によって、文字や数値があります。 フォームで列を選び、検索文字を入力して Criteria1:="=*" & 検索文字 & "*", Operator:=xlAnd と言う感じでフィルタしています。 文字はできますが、数値ができないのは、なぜでしょうか・・・ オートフィルタ後の、マクロでの値の参照に関して オートフィルタ後の、マクロでの値の参照に関して 下記を悩んでいます。教えて頂ければ幸いです。 マクロで、あるデーター表から、オートフィルタを使用し、必要なデーターを 抽出し、マクロ内に戻し、その後の計算で使用したいと考えています。 A列、B列、C列にそれぞれ、検索条件を指定し、オートフィルタ後、下記のような状態になります。 参照したい値は、D列になります。 下記のような例では、2.5と2.7の値をマクロ内に戻したいです。 (例:オートフィルタ後) 1行 A▼ B▼ C▼ D 16行 ** ** ** 2.5 20行 ** ** ** 2.7 *2~15行目は見えなくなっています。 *17~19行目は見えなくなっています。 セルを参照し、マクロ内に戻すには、どのような構文(マクロ)の記述が必要でしょうか? 【備考】 ・上記の例では、セルはD16、D20となりますが、抽出条件によっては、行番号が変わってしまいます。 ・抽出後のD列のデーター数は、常に2つです。 よろしくお願いします。 Openofficeのオートフィルタ使い方について Openoffice3.2を使っています。 ■質問 オートフィルタを掛けて条件で 抽出した行の値をフィルハンドルドラッグでデータをコピーしたところ フィルタをすべてに戻したところ フィルタ抽出されていないはずの(表示されていなかった)行にまで データがコピーされてしまいます。 急ぎの処理が入りうまく使えず困っています。 どうかご存知の方ご教授お願いします。 ■関係あるかどうか解りませんが、フィルタを使う前にした操作です。 フィルタを使おうとしたところ1行使えなかったので データ→範囲の指定から、データの範囲をデータのある全列を指定した。 ヤバいパソコンが壊れたかも!?事前に知っておきたい3つの兆候と対策 OKWAVE コラム マクロ:フィルタの選択について 例 A列に野菜の種別(大根やトマトなど)が入力されており B列に県名が入力されています。c列以降もあり。 フィルタでA列の野菜名を選択し、抽出された結果を別シートに 貼るという野菜別のシートを作る単純な作業の繰り返しを マクロで設定したいのですが マクロの記録で行うと、フィルタで野菜名を選択する時に Selection.AutoFilter Field:=4, Criteria1:="大根" というように、名前が入力されています。 フィルタの選択を上から下に4つ目、5つ目という感じで 下に選択していくマクロを教えて頂ければと思います。 また他に良い方法がありましたら、アドバイス宜しくお願い致します。 特定条件に該当する行を全て削除するVBAのプロシージャ お世話になります。(質問を書き換えました、前回ご対応いただいた方にはお詫び申し上げます) プログラムから出力されたレポート(エクセル形式)の不要な行をフィルタ等で抽出し、削除したいのですがどのようにVBAのプロシージャを書けばよろしいのでしょうか? 具体的には 1:[D列]の"空欄"もしくは"---"をで始まるセル 2:[G列]の空欄のセル 3:[H列]のGで始まるセル のいずれかに当てはまる行を全て削除したいのです。出されるレポートの総行数は毎回異なります。(自動記録では違うデータのレポートに対応できません)行数は毎回変わりますが100~200行くらいです。 毎日の作業ですので、出来ればVBAでマクロ化したいのですが。 自動記録でフィルタの設定までは出来ても、その後の行の削除をどう指定すればよいのかアイデアが浮かびません。抽出された行のA列にコメントを付して、その後コメントを付した行を削除しようとも考えましたが、どう書けばいいのか。。。 ちなみに全ての行に値が入っている列はありませんので、D列のみ全てのセルに手動で"1"を入力しようとも思っております。 よろしくお願いいたします。 オートフィルタを見出し行選択で不要な列まで▼がつく 初めて質問します。goo41と申します。 過去ログも検索してみたのですが、出てこなかったので、質問させて いただきます。よろしくお願いします。 要旨としては、見出し行を選択し、オートフィルタをかけると見出し のない部分まで「▼」が表示されてしまいます。 例) A B C D E ┌───┬───┬───┬───┬───┐ 1│名前▼│年令▼│住所▼│ ▼│ ▼│ ├───┼───┼───┼───┼───┤ 注)テキスト表なので表示上はずれているかもしれません。 見難いですが列がそろっているものとして見て下さい。 この例では、1:1という行の選択をして、オートフィルタをかけた 場合、A~Cだけでなく不要な列(DとE)にまで「▼」がついてしま います。 ※D列とE列のすべてのセルにはデータは何も入力されていま せん。ただし、該当の列のどれかに過去、データを入力した ことはあります。既に消去済み。 オートフィルタをかけるときに、A1:C1を選択すれば不要な列に は「▼」はつかないのですが、複数のシートで汎用的なマクロを作成 したいと思っており、できれば、行選択→オートフィルタで、必要な 見出しのところだけに「▼」がつくようにしたいのです。 というのも自分だけで使うのであればよいのですが、人(初心者)に渡 す必要があるため、できれば不必要な表示は避けたいと考えているか らです。 DとE列をすべてクリアしてみたり、列削除してみたりしたのですが、 一度でも、その列のどこかのセルに入力した経緯があれば、必ずその 列までに「▼」がついてしまうのです…。 これはExcelのバグなんでしょうか? どなたか解決策がありましたら、よろしくお願いいたします。 【マクロ】オートフィルター内の全データが削除される こんにちは、質問させていただきます。宜しくお願いします。 [エクセル] 2007 [内容] オートフィルタをかけ任意のデータのみ消したいのですが 全てのデータが消えてしまいます。 [詳細] A1~C5までデータが入っているのもだと仮定します。 (実際には項目があってフィルタがきちんとかかるものとします。) A B C ----------------------- 1 ○ 2個 \10 2 △ 1個 \5 3 × 3個 \15 4 ○ 1個 \20 5 ○ 4個 \5 オートフィルタをかけA列を基準として「○」を選択します。 そして選択した「○」を含む行(1行・4行・5行)を削除し 2行・3行目が残るようにしたいです。 その一連をマクロにして処理したいのですが… 1行から5行のすべての行データが削除されてしまいます。 <マクロ作成> マクロを記憶する。 ↓ 手動でオートフィルタをかけ、「○」を選択して行を削除 ↓ マクロの記憶を終了。 ↓ マクロ文の削除する行範囲をA1からC5に書き換え ↓ マクロ実行 <マクロ作成文> Selection.AutoFilter Selection.AutoFilter Field:=1, Criteria1:="○" ActiveSheet.Range("A1:C5").Select Selection.Delete Shift:=xlUp ※エクセル2007のバージョンによっては選択した「○」のみ 削除されるPCもありましたので、何か設定があるのかな?と 思いましたが…解決しませんでした。 何か良い案があれば教えていただきたいです。 宜しくお願い致します。 マクロでオートフィルタを(すべて)に戻したい。 エクセルで4月~3月の12sheetを作って、4月に次のような記録マクロを作りました。コマンドボタンを押して、オートフィルタであるデータを抽出して抽出というsheetにコピペし4月に戻って全て表示に戻すまでを作成しました。これを5月~3月にコピペしたのですが、抽出コピペまではできますが4月に戻ることになっているので、5月以降は全て表示に戻すことができません。全てのシートに適用させるには、それぞれ月毎に記録させないとできないでしょうか? オートフィルタで抽出したデータの行を削除(VBAで記述) Excel2000を利用しています。 VBAで、オートフィルタを利用した作業を記述したいと思っています。 データは一行目にタイトルが入っています。 オートフィルタで抽出したデータを その行まるまる削除したいと思っています。 その時、タイトル行(1行目)を除いて オートフィルタで抽出された行のみ選択して 削除する、という場合、どのように記述すればよいのでしょうか。 自分では全然分からないので 教えてください、よろしくお願い致します。 EXCELのVBA-フィルタ抽出後のセル選択方法 EXCELのVBAです。 オートフィルタ(Autofilter)で、何らかの条件で抽出をかけた後の部分で、 特定のセル、例えば、2列目の上から5番目のセル、を選択するには、 どうすれば良いでしょう? 言い方を変えれば、可視セルの中だけで、何列目で何行目セルという指定 をするにはどうすれば良いかと。 RangeとかSelectionで、指定する方法が有るのでしょうか? よろしくお願いいたします。 VBAではなく、マクロでのフィルターのかけ方を教え accessのVBAではなく、マクロでのフィルターのかけ方を教えてください。 テーブル1には フィールド名:moji データ:テキスト型 文字列1 文字列2 ・ ・ ・ というデータがあります。 テーブル1を基にしたフォームには 画像のように、 コントロールソースにmojiを紐付けたテキストボックスを配置しました。 その際、マクロを実行して「文字列1」を抽出するフィルタの実行をしたいのですが マクロの作り方がわかりません。 マクロのアクションは「フィルタの実行」にしたのですが フィルタ名には何を入れればいいのでしょうか? とりあえずtestと入れました。 次に、Where条件式には [Forms]![フォーム1]![moji]="文字列1" といれました。 この時点ではエラーにならないのですが フォームを開いて、マクロ1を実行すると 「このウィンドウでは"ApplyFilter/フィルタの実行"アクションを実行できません。」 となってしまいます。 マクロの作り方を教えてください。 注目のQ&A 「You」や「I」が入った曲といえば? Part2 結婚について考えていない大学生の彼氏について 関東の方に聞きたいです 大阪万博について 駅の清涼飲料水自販機 不倫の慰謝料の請求について 新型コロナウイルスがもたらした功績について教えて 旧姓を使う理由。 回復メディアの保存方法 好きな人を諦める方法 小諸市(長野県)在住でスキーやスノボをする方の用具 カテゴリ パソコン・スマートフォン ソフトウェア Excel(エクセル)Word(ワード)PowerPoint(パワーポイント)Access(アクセス)その他MS Office製品オフィス系ソフトPhotoshop(フォトショップ)Illustrator(イラストレーター)その他Adobe製品画像・動画・音楽編集ホームページ作成ソフト筆まめ・はがき作成フリーウェア・フリーソフトその他(ソフトウェア) カテゴリ一覧を見る OKWAVE コラム 突然のトラブル?プリンター・メール・LINE編 携帯料金を賢く見直す!格安SIMと端末選びのポイントは? 友達って必要?友情って何だろう 大震災時の現実とは?私たちができる備え 「結婚相談所は恥ずかしい」は時代遅れ!負け組の誤解と出会いの掴み方 あなたにピッタリな商品が見つかる! OKWAVE セレクト コスメ化粧品 化粧水・クレンジングなど 健康食品・サプリ コンブチャなど バス用品 入浴剤・アミノ酸シャンプーなど スマホアプリ マッチングアプリなど ヘアケア 白髪染めヘアカラーなど インターネット回線 プロバイダ、光回線など
お礼
遅くなってすみません‼︎ありがとうございます‼︎