Ecxel マクロでのオートフィルタ機能について質問です。 マクロで特定セルをコピーした場合は、Range("A1").Select Selection.copy となりますが、

Excel | Visual Basic15閲覧xmlns="http://www.w3.org/2000/svg">100

ベストアンサー

0

早速ありがとうございます。 >素直にとれば... 仰る通り、説明が悪かったです。 A1はsheet1 フィルタリングするB列はsheet2 と別シートです。 また20210101はエクセル上では文字列として認識させています。 度々で恐縮なんですが、この場合ですとどのようになるのでしょうか?

ThanksImg質問者からのお礼コメント

ご丁寧に回答くださり、ありがとうございました!

お礼日時:6/15 10:41

その他の回答(1件)

1

まずは、 A1セルに検索値を入れてセル参照にするならA1セルとデータベースは1行空けてください。1行空けるのは鉄則です。具体的には2行に1行挿入します。 それと、データベースはA列から右に伸びていますね。そうでないとField:=2の説明がつかないです。 ところが、 ActiveSheet.Range("B2":"B100").AutoFilte は、B列にオートフィルターを適用しないさいのコマンドです。1列にオートフィルターを掛けて対象は2列目、これは矛盾しています。当然エラーになります。B列だけにオートフィルターを掛けるのですからField:=1以外はあり得ません。 でも、実際は複数の列があるのでしょ。 A1セルと1行空けて A3セル以下のデータベースにして Sub test() Range("A3").CurrentRegion.AutoFilter Field:=2, Criteria1:=Range("A1") End Sub とするのが適切です。Criteriaのスペルにも注意してください。

画像

1人がナイス!しています