• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルVBAでのフィルタオプションについて)

エクセルVBAでのフィルタオプションについて

このQ&Aのポイント
  • エクセルVBAでのフィルタオプションについての要約文1
  • エクセルVBAでのフィルタオプションについての要約文2
  • エクセルVBAでのフィルタオプションについての要約文3

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

>sheet2に抽出するということです。 でしたら、直接、CopyToRangeに書き込んでください。 私自身、今回、ご質問で書かれたものが、なぜか、誤動作するか、はっきりしませんので、抽出先を一旦、Clear(ClearContentsでも可)してみました。 (私は、良くAdvancedFilterを使いますが、こういう場面に出会ったことがありませんでした。) 私自身の書き方は、データ部分も、検索=Criteria部分は、マクロでは取らないようにしています。名前で最初から指定してしまいます。 Sub test()  Dim 検索 As Range  'Dim 範囲 As Range  With Worksheets(1)  .Activate  Worksheets(2).Range("A1").CurrentRegion.Clear  Set 検索 = .Range("B1").CurrentRegion  Range("仕入単価他").AdvancedFilter _  Action:=xlFilterCopy, _  CriteriaRange:=検索, _  CopyToRange:=Worksheets(2).Range("A1"), _  Unique:=False  End With  Set 検索 = Nothing End Sub

yukiti2
質問者

お礼

アドバイスありがとうございます。 できれば、私も直接Sheet2へ出したかったのですが、マクロの記録を元にしているため、どうしても直接別シートが指定できずに困っていました。 教えていただいたものでは、直接何の問題もなくSheet2へ抽出結果が出たのでこちらをコピーさせていただいて使用させていただきます。 なかなか変数やWithステートメントが理解できずに苦労しておりますので、 また御世話になりますが、よろしくお願いします。

関連するQ&A

専門家に質問してみよう