| すぐマク YNxv9823 | Home | Search | Contents | Gallery | Introduction | Service | Support | What's New! |
| AdvancedFilterメソッドの引数「検索条件範囲」の指定が違うようだか? |
|
|
|||
|
でっかいワークシートですね。 項目数が224(列)、件数が1000(行)のリストつまりデーベースですか。 ご提示されたコードは、そのリストから、アドバンスフィルタで抽出するためのものですね。 AdvancedFilterメソッドの構文 対象オブジェクト.AdvancedFilter(動作指定, 検索条件範囲, コピー先のセル範囲, 重複レコードの処理方法,) そして、お知りになりたい点は、検索条件範囲を指定する引数の書き方に違いがないかですね。 随分、込み入った書き方のコードですが、O50セルの値が仮に '5' とすると検索条件範囲として、 CriteriaRange:=Range(A39:B40) と指定したことになるのでしょうか。 そうだとすれば、下記 3つの条件を満たしている限り、問題は発生しないかと思われます。 1. O50セルの値が必ず '5' 以上であること 2. O50セルの値から '4' または '3' を減じて求めた列範囲の 39行目(上記仮定では A39:B39)のセルの値が列 見出しであり、かつ、1000行目にあるはずの列見出しに存在するものであること 3. 同じ列範囲の 40行目(上記仮定では A40:B40)のセルの値が検索する値として相応しいものであること
ワークシートのレイアウトをお示しいただいてないので、条件2.と3.の説明がしにくかったですが、以上を参考にしてチェックしてみてください。そして、解決できたら、具体的にお知らせいただけませんか。なお、蛇足かもしれませんが、検索条件範囲を Setステートメントで変数に代入しておくなどすると、コードがすっきりと分かりやすくできるかと思います。ご研究ください。 |
| http://www.geocities.jp/happy_ngi/ | Home | Contents | Gallery | Introduction | Service | Support | What's New! |