
いつもお世話になっております。
現在第一条件から第三条件までの入力フォームを作成し、その条件に基づいたオートフィルタを作成中なのですが、
第二条件以下に未入力の場合のオートフィルタができなくて困っています。
これら未入力(空白)でもきちんと抽出できるオートフィルタを作るにはどうしたら良いですか?
以下に私が作成したものを転記いたしますので、どなたかご教示くださいますよう、お願いいたします。
With Worksheets("業種別検索")
myCriteria1 = .Range("a2").Value
myCriteria2 = .Range("b2").Value
myCriteria3 = .Range("c2").Value
End With
With Worksheets("元データ")
If Worksheets("元データ").AutoFilterMode = False Then
Range("A6:z6").Select
Selection.AutoFilter
Else
Sheets("元データ").Select
Selection.AutoFilter
Range("A6:z6").Select
Selection.AutoFilter
End If
.Range("A1").CurrentRegion.AutoFilter 17, myCriteria1, xlAnd
.Range("A1").CurrentRegion.AutoFilter 18, myCriteria2, xlAnd
.Range("A1").CurrentRegion.AutoFilter 19, myCriteria3, xlAnd
End With
No.2ベストアンサー
- 回答日時:
こんにちは。
こんな考え方でいかがでしょうか?
空白値の場合は、オートフィルタの選択を無視するという方法です。考え方としては、ものすごく単純なんですが、「Criteriaありき」という方法ですと、どうしても、オートフィルタがうまく行かないようですね。
Range("A6:z6").Selectということは、6行目から、という意味だと思います。まだ、なんとか私は、おやりになっていることに付いていっていると思います。
なお、これで、今回のスタイルとしてのマクロは、第三段目になると思います。一応、そういうわけで、プロシージャ名に気を使いました。
'---------------------------------------
Sub オートフィルタ複合選択3()
Dim myCriteria1 As String
Dim myCriteria2 As String
Dim myCriteria3 As String
With Worksheets("業種別検索")
myCriteria1 = Trim(.Range("a2").Value)
myCriteria2 = Trim(.Range("b2").Value)
myCriteria3 = Trim(.Range("c2").Value)
End With
With Worksheets("元データ")
.Select
If .AutoFilterMode Then
'.ShowAllData 'すべて出す
.AutoFilterMode = False 'フィルタモード解除
End If
With .Range("A6", .Range("A65536").End(xlUp).Offset(, 25))
If myCriteria1 <> "" Then
.AutoFilter 17, myCriteria1, xlAnd
End If
If myCriteria2 <> "" Then
.AutoFilter 18, myCriteria2, xlAnd
End If
If myCriteria3 <> "" Then
.AutoFilter 19, myCriteria3, xlAnd
End If
End With
End With
End Sub
で、できました!やった~!
Wendy02さん、いつもありがとうございます!!
これで検索機能は完成です!
ありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Sheet3から2つの条件でオートフィルターで抽出した個数をSheet2へ入力するマクロで、一つ目の 4 2023/01/12 23:40
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Visual Basic(VBA) excel2021で実行できないマクロ。どこを直したらいいのか 2 2022/03/28 03:40
- Excel(エクセル) vba userformで漢字を全角カタカナに 2 2022/07/24 15:38
- Visual Basic(VBA) excelVBAについて。 4 2022/11/21 16:15
- Visual Basic(VBA) エクセル VBA 処理スピードを上げたいのですが。 6 2023/03/31 20:52
- Excel(エクセル) ExcelVBAについて。 2 2022/12/10 20:08
- Visual Basic(VBA) 複数条件のオートフィルタ(VBA) 2 2022/12/09 15:40
- Visual Basic(VBA) excelVBAについて。 1 2022/11/30 06:16
- Visual Basic(VBA) エクセルのマクロで対象ごとにシート分けしてその内容をセルに書き込みたい 9 2022/08/24 13:23
このQ&Aを見た人はこんなQ&Aも見ています
-
EXCELのオートフィルタで空白セルを無視したいのですが
Excel(エクセル)
-
VBAでのフィルタについて(空白行の削除)
Excel(エクセル)
-
エクセルVBAで5行目からオートフィルタモードに設定したいたい
Excel(エクセル)
-
-
4
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
5
VBAのオートフィルターで該当行がない場合に処理を止めたい
Excel(エクセル)
-
6
数式による空白を無視して最終行を取得するマクロ
Excel(エクセル)
-
7
マクロ オートフィルタの検索値を所定のセルから参照
Excel(エクセル)
-
8
VBAのコードがエラーになってしまいます。(エクセル)
Excel(エクセル)
-
9
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
10
エクセルマクロ 【空白セルを無視する方法を教えてください】
Excel(エクセル)
-
11
Excel マクロ オートフィルで抽出後 削除したい
Access(アクセス)
-
12
Excel VBAでオートフィルタで抽出した列データを別シートの最終行にコピーするには
Visual Basic(VBA)
-
13
名前をつけて保存した後、元のファイルに戻るには
その他(コンピューター・テクノロジー)
-
14
VBAのフォント変更(エクセルからoutlookのメール作成において)
Visual Basic(VBA)
-
15
【EXCEL】【VBA】空欄は飛ばして処理する方法を教えて下さい。
Excel(エクセル)
-
16
vba フィルター 複数条件 3つ以上 完全一致除外
Visual Basic(VBA)
-
17
ユーザーフォーム内のテキストボックスからオートフィルター抽出を行う方法
Visual Basic(VBA)
-
18
表にフィルターをかけ、絞ったデータ(可視化セルのみ)を一次元配列として変数に入れるという動作を書きた
Visual Basic(VBA)
-
19
エクセルのオートフィルタで抽出できない
Excel(エクセル)
-
20
Excel VBAでオートフィルタで抽出したデータの一部だけ貼り付けるには(第2弾)
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでオートフィルタのボ...
-
エクセルの偶数行(奇数行)の抽出
-
Excelで西暦の日付から「和暦の...
-
エクセルで作った住所録について
-
エクセルのオートフィルタで最...
-
エクセルで時刻(8:00~20:00)...
-
エクセルで検索窓のようなもの...
-
記号の意味
-
エクセル フィルタ 上位について
-
コンボボックスに○○○○年○月を表...
-
Excelの絞込みについて
-
エクセルについて教えて下さい...
-
excelでのデータの抽出
-
エクセル データの抽出の方法
-
excleのオートフィルタの関数と...
-
エクセルのステータスバーにオ...
-
集計するマクロ
-
EXCELでの抽出について
-
エクセルのフィルターのオプシ...
-
EXCEL2003 VBA オートフィルタ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルでオートフィルタのボ...
-
エクセルのオートフィルタで最...
-
エクセルで時刻(8:00~20:00)...
-
Excelのオートフィルタで非表示...
-
エクセル関数で、数字の入った...
-
エクセルの偶数行(奇数行)の抽出
-
access マクロでのフィルタの...
-
エクセルにて、フィルタをかけ...
-
Excel共有ブックのオートフィル...
-
オートフィルタで3つ以上の条...
-
オートフィルタは金額の桁カン...
-
データの抽出を教えてください
-
エクセルで隔週をもとめる
-
可視セルを対象としたcountifが...
-
エクセル、オートフィルタで最...
-
オートフィルタで未入力(空白...
-
オートフィルタを見出し行選択...
-
Excelで文字を入力と自動的にフ...
-
Excel2003 オートフィルタで「...
-
なぜShowAllDataだとうまく行か...
おすすめ情報