• ベストアンサー

フィルタの抽出を解除するコード

エクセルのオートフィルタを解除するコードを調べてるのですが ActiveSheet.AutoFilterMode = False だとフィルタそのものが解除されてしまうのですが オートフィルタは解除せず、現在抽出されてるもののみ解除して全てのレコードを表示するコードを教えてください。 ActiveSheet.UsedRange.AutoFilter Field:=1 このようにもう一度その列を選択すればいいのですが このコードじゃなくて「ショーオールデータ」みたいなコードがあった気がするのですが探せません。 ご回答よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

表示メニューのオブジェクト ブラウザにて、ライブラリを見てみましょう。AutoFilter のメンバが表示されます。 あるいはヘルプの画面を表示後に autofilter と入力・検索すると、「AutoFilter オブジェクト メンバ」があります。

sfdasdfagwe
質問者

お礼

ご回答ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.1

下記で試してください。 If ActiveSheet.FilterMode Then ActiveSheet.AutoFilter.ShowAllData End If

sfdasdfagwe
質問者

お礼

ご回答ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 1行のVBAコードでフィルタの解除したい

    フィールド1 フィールド2 1         あ 2         い 3         う で、コマンドボタンを押したら、 A列にフィルタがかかっていても、 B列にフィルタがかかっていても、解除したいのですが、 どういうコードにすればいいのでしょうか? Private Sub CommandButton1_Click() Selection.AutoFilter Field:=1 Selection.AutoFilter Field:=2 End Sub こうするしかないでしょうか? 今は2列だから良いのですが、実際のデータは、30列以上あります。 その場合、1行のVBAコードでフィルタの解除が出来ればいいなーと思っています。 ご回答よろしくお願いします。

  • オートフィルタがかかっていて、なおかつ抽出中なら

    オートフィルタがかかっていて、なおかつ抽出中なら、 という状態をvbaで取得する方法はありますか? Sub Sample() If ActiveSheet.AutoFilterMode = True Then End If End Sub これだと、 オートフィルタがかかっているだけでも、反応してしまいます。 「行番号が青色になってるのなら」 と同じ状態にしたいのですが、 どういうコードになりますか?

  • オートフィルタ マクロについて

    質問です。 オートフィルタで複数列を1つの条件で抽出したいのですが、教えてください。 たとえばA列が納品書No.・B列が受注No.・C列が商品No.なのですがすべて数字の為、出来ればInBox一回でA-C列を検索してほしいです。 指定納品書NO 受注NO 元品番 21812 3252608 77 21880 3307989 32B 22053 3389769 95414A 22050 3389770 67312H 22052 3389771 67312H 22050 3389773 67118H 以下の様なマクロを作ってみましたが、 A-C列全てに一致しないと抽出しないようです。 どなたかご教授いただけないでしょうか? マクロ '条件1 の設定 Dim 検索NO As Variant '抽出キーの入力指示 検索NO = InputBox("検索NOを入力てください。") 'キャンセルした場合の処理 If 検索NO = Empty Then Exit Sub End If 'オートフィルタがかかっていなかったらかける 'かかっていたら念の為一度解除し再設定 If ActiveSheet.AutoFilterMode = False Then Range("A2:O2").Select Selection.AutoFilter Else Selection.AutoFilter Range("A2:O2").Select Selection.AutoFilter End If Selection.AutoFilter Field:=1, _ Criteria1:=">=" & 検索NO, Operator:=xlAnd, Criteria2:=" " & 検索NO Selection.AutoFilter Field:=2, _ Criteria1:=">=" & 検索NO2, Operator:=xlAnd, Criteria2:=" " & 検索NO2 Selection.AutoFilter Field:=3, _ Criteria1:=">=" & 検索NO3, Operator:=xlAnd, Criteria2:=" " & 検索NO3 AutoFilterMode = False Application.ScreenUpdating = True End Sub よろしくお願いいたします。

  • Excelマクロでオートフィルターからコピペ

    ファイルのB列の値から0以外の値をオートフィルターで抽出し、値を、別のファイルのD列の一番下に貼りつけるマクロを作っていますがうまくいきません。 今作ったのは Sub macro1() If ActiveSheet.AutoFilterMode = False Then Range("A:G").Select Selection.AutoFilter Else Selection.AutoFilter Range("A:G").Select Selection.AutoFilter End If Selection.AutoFilter Field:=2, Criteria1:="<>0", Operator:=xlAnd Range("A1").Select Range("B2", Range("B2").End(xlDown)).Select Selection.Copy Windows("貼りつけるファイル名").Activate Cells(Rows.Count, 4).End(xlUp).Offset(1).Select ActiveSheet.Paste End Sub です。 フィルターで0以外の値を抽出しコピーまではできていますが、貼りつけるところでエラーがでます。 Microsoft Visual Basic 400 というエラーです。 何が悪いのか分かりません・・・。 分かる方いましたらご教授ください。よろしくお願いします。

  • VBAで保存時の状態に戻す方法

    本などを参考にしながらエクセルVBAを使って売上帳を作成しています。 品名欄のキーワード検索機能を付けていますが、抽出した後、元の状態に戻す良い方法はないですか? キーワードの抽出は以下の書き方です。 Sub 品名検索() Dim ans As String ans = InputBox("文字列を入力してください") With ActiveSheet If .AutoFilterMode Then 'オートフィルタモードがオンなら .AutoFilterMode = False 'リセットする End If .Range("A4:IV4").AutoFilter 'オートフィルタモードをセット .Range("A4:IV4").AutoFilter Field:=5, Criteria1:="=*" & ans & "*" '5つ目のフィルターに検索文字 End With End Sub よろしくおねがいします。

  • エクセルVBA住所録で半角全角問わず検索する方法

    エクセルVBAで住所録を作っています。 住所録で下記のようなコードを書いて、キーワード検索をさせるようにしているのですが、『*丁目』や番地に半角英数を使っています。 全角で数字を入力しても検索されるようなコードの書き方はあるのでしょうか? 宜しくお願いします。 Sub 住所検索() ans = InputBox("住所を入力してください") With ActiveSheet If .AutoFilterMode Then 'オートフィルタモードがオンなら .AutoFilterMode = False 'リセットする End If .Range("A1:IV1").AutoFilter 'オートフィルタモードをセット .Range("A1:IV1").AutoFilter Field:=4, Criteria1:="=*" & ans & "*" '4つ目のフィルターに検索文字 End With End Sub

  • VBAでオートフィルタを使った抽出がうまくいきませんのでどなたか教えて

    VBAでオートフィルタを使った抽出がうまくいきませんのでどなたか教えてください。 A列、C列に日付が入っていて、A列は空白以外のセルを表示し、かつC列は、開始日、終了日で抽出したいのですが、うまくいきません。 With Worksheets("sheet").Activate 開始日 = ">=" & TextBox1.Text 終了日 = "<=" & TextBox2.Text .Range("A1:N200").AutoFilter Field:=1, Criteria1:="<>" .Range("A1:N200").AutoFilter Field:=3, _ Criteria1:=開始日, Operator:=xlAnd, _ Criteria2:=終了日

  • オートフィルタの一括解除について教えて下さい。

    オートフィルタの一括解除について教えて下さい。 以下のVBAをwebから見つけて、マクロに貼りつけて実行してみましたが、 オートフィルタは一括解除できますが、そのあともオートフィルタの機能は 残しておきたいのですが、どうすればできますか? Sub RemoveFiltersAllWorksheets()  Dim objWorkSheet As Worksheet  For Each objWorkSheet In Worksheets   objWorkSheet.AutoFilterMode = False  Next End Sub 宜しくお願いします。

  • エクセルVBAで住所録を作成

    住所録シートに次のようにコードを作っています。 Option Explicit Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Target.Address = "$B$1" Then 顧客名検索 ElseIf Target.Address = "$C$1" Then フリガナ検索 ElseIf Target.Address = "$D$1" Then 住所検索 ElseIf Target.Address = "$E$1" Then 郵便番号検索 ElseIf Target.Address = "$A$1" Then オートフィルタ解除 カナ順に設定 Else Exit Sub End If End Sub そして標準モジュールには Sub 顧客名検索() ans = InputBox("顧客名を入力してください") With ActiveSheet If .AutoFilterMode Then 'オートフィルタモードがオンなら .AutoFilterMode = False 'リセットする End If .Range("A1:G1").AutoFilter 'オートフィルタモードをセット .Range("A1:G1").AutoFilter Field:=2, Criteria1:="=*" & ans & "*" '2つ目のフィルターに検索文字 End With End Sub Sub フリガナ検索() ans = InputBox("顧客カナを入力してください") With ActiveSheet If .AutoFilterMode Then 'オートフィルタモードがオンなら .AutoFilterMode = False 'リセットする End If .Range("A1:G1").AutoFilter 'オートフィルタモードをセット .Range("A1:G1").AutoFilter Field:=3, Criteria1:="=*" & ans & "*" '3つ目のフィルターに検索文字 End With End Sub Sub 住所検索() ans = InputBox("住所を入力してください") With ActiveSheet If .AutoFilterMode Then 'オートフィルタモードがオンなら .AutoFilterMode = False 'リセットする End If .Range("A1:G1").AutoFilter 'オートフィルタモードをセット .Range("A1:G1").AutoFilter Field:=4, Criteria1:="=*" & ans & "*" '4つ目のフィルターに検索文字 End With End Sub Sub 郵便番号検索() ans = InputBox("郵便番号を入力してください") With ActiveSheet If .AutoFilterMode Then 'オートフィルタモードがオンなら .AutoFilterMode = False 'リセットする End If .Range("A1:G1").AutoFilter 'オートフィルタモードをセット .Range("A1:G1").AutoFilter Field:=5, Criteria1:="=*" & ans & "*" '5つ目のフィルターに検索文字 End With End Sub Sub オートフィルタ解除() Application.CutCopyMode = False Selection.AutoFilter Range("A1").Select End Sub Sub カナ順に設定() Range("C1").Select ActiveWorkbook.Worksheets("住所録").Sort.SortFields.Clear ActiveWorkbook.Worksheets("住所録").Sort.SortFields.Add Key:=Range("C1"), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("住所録").Sort .SetRange Range("A2:IV65536") .Header = xlNo .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With Range("A2").Select Selection.AutoFilter End Sub と入れています。 VISTAで作ったのですが、このファイルを共有にして使おうとすると、XPのパソコンでは、A1セルをダブルクリックすると、コードが黄色になり、マクロが中断されます。 B1~G1は問題なくマクロが実行されるのに・・・。 もう一台のVISTAでは同じ共有状態で使っても問題ありません。 どうすればXPでも問題なく使えるのでしょう?

  • オートフィルタのかかった行のセルを、選択するコードは?

    Excelです。 例えば、下記の、 任意にてオートフィルタをかけた行の 「C列のセル1つ」 を選択するコードは? 誤 AutoFilter Columns(3).Select AutoFilter Field:=3.Select よろしくお願い致します。 -----  A B C D E F G H 1 ・ ・ ・▼▼▼▼▼▼▼▼ ・ 50 ・

このQ&Aのポイント
  • Windows 11 PC 起動時のパスワード入力を省略する方法を探しています。
  • クリーンインストールしたWindows 11 Proでログインパスワード無しで入室したいですが、セキュリティ設定が見つからず困っています。
  • 以前のURLの手順が使えず、新しい方法を教えていただきたいです。
回答を見る

専門家に質問してみよう