[[20120706140741]] 『Advancedfilterでの複数条件抽出について』(もも) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『Advancedfilterでの複数条件抽出について』(もも)

どなたか、お力をお貸しいただけると幸いです。
よろしくお願いいたします。

	A	B	C
1	検索条件		
2	担当者	レベル	金額
3		A	
4	一覧		
5	担当者	レベル	金額
6	田中	A	100
7	鈴木	A	50
8	佐藤	B	20
9	鈴木	C	100
10	田中	D	300
11	佐藤	A	20
12	田中	B	50

上記のような表があり、A3、B3、C3に検索条件を入れると、一覧が結果を反映する
ように↓のコードを作成しました。

Sub フィルターオプションの設定()

  Range("A5").CurrentRegion.AdvancedFilter _
    Action:=xlFilterInPlace, _
    criteriarange:=Range("A2:C3"), unique:=False
End Sub

なのですが、実際には、抽出条件が同項目で2つ以上ある場合があるので、

  Range("A7").CurrentRegion.AdvancedFilter _
    Action:=xlFilterInPlace, _
    criteriarange:=Range("A2:C5"), unique:=False
End Sub

として、B3に「A」B4に「C」として検索をかけたところ、「A」と「C」を思うように抽出できたのですが、
B3のみに、「A」として検索したところ、すべて表記され抽出できませんでした。

・検索条件が、同項目で2つ以上、1つで検索することもある
上記を満たすには、どのように設定すればよいか、ご教授いただけると幸いです。

わかりづらい説明で申し訳ございませんが、
よろしくお願いいたします。

win:Windows7 OS:2007


 まず、フィルタリングの前に、最初のレイアウトであれば、
 Sub Test1()
    MsgBox Range("A5").CurrentRegion.Address
 End Sub

 条件を増やしたレイアウトであれば

 Sub Test2()
    MsgBox Range("A7").CurrentRegion.Address
 End Sub

 これを実行して、どんなセル領域が表示されるか確認しよう。
 このセル領域がフィルターが対象とするリストであるとAdvancedFilterメソッドは理解する。
 その領域は、(もも)さんが伊としたものになっているかな?

 で、次に、フィルターオプションはVBAでやろうが、操作でやろうがまったく同じ。
 なので、まず、操作でやって、どういう検索領域の設定をしたらいいか、確実に思った結果がでる条件設定を
 確かめたうえで、それをVBAにおとしこむほうがいいね。

 (ぶらっと)

ぷらっとさん

なるほど!
ありがとうございます。早速やってみます!!
(もも)

むむ。
領域は、設定できていましたが、操作でやろうとしたときに、思うような抽出ができないことが発覚いたしました。
そもそも、できない作業なのでしょうか。。。。
なにか、ほかの手立てを考えたいと思います。ありがとうございました。(もも)


解決できました!

Sub フィルターオプションの設定()

  Range("A7").CurrentRegion.AdvancedFilter _
    Action:=xlFilterInPlace, _
    criteriarange:=Range("A2").CurrentRegion, unique:=False
End Sub

で、できました。
お騒がせいたしました。(もも)


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.