Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


3621 / 13646 ツリー ←次へ | 前へ→

【61109】AutoFilterのオプション バタヤン 09/4/9(木) 21:30 質問[未読]
【61110】Re:AutoFilterのオプション つん 09/4/9(木) 22:01 回答[未読]
【61111】Re:AutoFilterのオプション バタヤン 09/4/9(木) 22:34 お礼[未読]
【61117】Re:AutoFilterのオプション バタヤン 09/4/10(金) 10:55 お礼[未読]

【61109】AutoFilterのオプション
質問  バタヤン  - 09/4/9(木) 21:30 -

引用なし
パスワード
   始めてお聞きします。宜しくお願いします。

Dim B As Long
B=20090401
 Range("A").AutoFilter 2, ">=B"

とすると該当するデータが有るにも関わらず何も表示されません。
変数Bには上記の数値が格納されているのは確認できていますが、
クライテリアの中のBは変数として認識されていない様です。

【61110】Re:AutoFilterのオプション
回答  つん  - 09/4/9(木) 22:01 -

引用なし
パスワード
   ▼バタヤン さん:
こんばんは

>Dim B As Long
>B=20090401
> Range("A").AutoFilter 2, ">=B"
>
>とすると該当するデータが有るにも関わらず何も表示されません。
>変数Bには上記の数値が格納されているのは確認できていますが、
>クライテリアの中のBは変数として認識されていない様です。

まず、">=B"ですが、""で囲まれているので、認識されてません。
">=" & B って書かないと。


それからRange("A")ちう書き方も変です。
おそらくA列という意味やと思いますが、
それやったら、Range("A:A")ですね。
さらに、ここが正しくても、1列しかオートフィルタを設定してないのに、フィールドに2を設定するのはおかしいです。
フィールドは、フィルタの対象が左から数えていくつめのリストか?ってことですから。

【61111】Re:AutoFilterのオプション
お礼  バタヤン  - 09/4/9(木) 22:34 -

引用なし
パスワード
   つんさん 早速有り難うございます。Bをコーテーションの外の出す。明日やってみます。実はこの表はA1から始まる約50列2300行くらいの表なのですが、ある日付以降のSumを取る前の作業です。 コーテーションマークの中のBの位置に20090401を置き換えると正しく動作するので、変数だから置き換えられるかと思いました。
この件りでは4重にAutoFilterを掛けていますが、全て Range("A1").・・・とやってCurrent.Regionを掴んでいます。有る程度参考書の切り貼りみたいなので理解できているとはとても言えませんが。
ここの行で昨日から何十回もリトライしていました。有り難うございました。

【61117】Re:AutoFilterのオプション
お礼  バタヤン  - 09/4/10(金) 10:55 -

引用なし
パスワード
   有難う御座いました.何度か書き直している打ちに走りました.
VBAでの「”」の使い方に違和感を感じておりました.関数でのテキスト編集と同じなのですね.演算子を囲むなどという感覚はBASIC(古すぎますね)などでは無かったので,とまどいます.またお願い致します.

3621 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free