• ベストアンサー

VBA オートフィルター後のコピー

オートフィルターで抽出された結果をコピーし、別の空白部分のセルへ貼り付けしたいのですが、抽出結果の一部しか貼り付けされません。オートフィルター後の結果をコピペするのはどういう方法(範囲選択方法)がベストなのでしょうか?

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

  • ベストアンサー
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.1

コピィしたい範囲を Rows(2:2)とか必要な部分のみ選択されていると思いますが、 Rows(2:10000)と不要な部分も含めてたっぷりと選択してみてください。 オートフィルターで非表示の行はコピィされませんので大丈夫です。 以下は、過去スレです。 http://oshiete1.goo.ne.jp/qa4531904.html

その他の回答 (1)

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

こんにちは。 >抽出結果の一部しか貼り付けされません。 VBAに不具合があるなら、コードを見せていただいたほうがよいですね。 一般的に、以下のように、AutoFilter.Range を取ります。また、抽出する場合は、フィルタオプションでも可能です。非表示の行もコピーされるという不具合も報告はされていますが、当面は、このようにすればよいです。 '標準モジュール、もしくは、該当するシートモジュール Sub Macro1() If ActiveSheet.FilterMode Then   ActiveSheet.AutoFilterMode = False End If Range("A1").CurrentRegion.AutoFilter Field:=1, Criteria1:="2" With ActiveSheet.AutoFilter.Range   Range(.Cells(2, 1), .Cells(.Cells.Count)).Copy _   Worksheets("Sheet2").Range("A1") End With End Sub 注:.CurrentRegion がなくても、単に、Range("A1") だけでも良い場合が多いです。 Range(.Cells(2, 1),... と、2行目にしているのは、1行目がタイトル行になっている場合のためです。

関連するQ&A

専門家に質問してみよう