- ベストアンサー
VBA オートフィルター後のコピー
オートフィルターで抽出された結果をコピーし、別の空白部分のセルへ貼り付けしたいのですが、抽出結果の一部しか貼り付けされません。オートフィルター後の結果をコピペするのはどういう方法(範囲選択方法)がベストなのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
コピィしたい範囲を Rows(2:2)とか必要な部分のみ選択されていると思いますが、 Rows(2:10000)と不要な部分も含めてたっぷりと選択してみてください。 オートフィルターで非表示の行はコピィされませんので大丈夫です。 以下は、過去スレです。 http://oshiete1.goo.ne.jp/qa4531904.html
その他の回答 (1)
- Wendy02
- ベストアンサー率57% (3570/6232)
こんにちは。 >抽出結果の一部しか貼り付けされません。 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行目がタイトル行になっている場合のためです。