- ベストアンサー
オートフィルタ抽出データをコピーするマクロについて
- マクロを使用して、オートフィルタで抽出したデータを別のシートにコピーしたいが、抽出データがずれてしまう問題が発生している。
- 問題のマクロは、指定したデータ範囲にオートフィルタを設定し、抽出データをコピーする処理を行っている。
- 具体的には、オートフィルタが1行目ではなく2行目で設定されてしまい、タイトル行と抽出データがずれる現象が発生している。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 ご質問者さんのコード自体は、間違いではないと思います。私の知っている限りでは、そういう現象は、オートフィルタにはないからです。何かバグに近いような気がしますが……。 Excelのバージョン等は分かりますか?詳しく調べてみないと分からないです。 一応、ためしに書き換えてみましたが、これは、別にに、ご質問の要件の部分には解決していないような気がします。以下は、.Range("A1").CurrentRegion は、.Range("A1") でも、経験的には同じはずです。 Sub Test1() Worksheets("Sheet2").Range("A10:G59").ClearContents With Worksheets("Sheet1") If .AutoFilterMode Then .AutoFilterMode = False End If With .Range("A1").CurrentRegion .AutoFilter Field:=1, Criteria1:="○" '品名を入れる .SpecialCells(xlCellTypeVisible).Copy Worksheets("Sheet2").Range("A9") End With End With End Sub
その他の回答 (1)
- R48
- ベストアンサー率24% (683/2741)
回答ではありませんが、 マクロの自動記録を開始し、やりたい動作を行って、記録終了 →結果を見ればHINTになると思います。
お礼
無事に解決いたしました。 早々に対応いただきまして、本当にありがとうございました。
補足
早々のご対応、ありがとうございます。 自動記録はためしにやってみたんですが、 抽出データのコピーが上手くいかなくて… (>_<) 見比べてみたら、違いはWith~の4行目のみなので、 もう少し調べてみます。
お礼
ご報告が遅くなって申し訳ありません m(__)m 作成していただいたコードを必要な形に修正して 新規で作成したのですが、問題なく作動してくれました! Wendy02様のコードですと、オートフィルタの解除が きちんと書かれていますが、当方にはありません。 もしかしたら、この辺が上手く作動しなかった原因でしょうか。 何にせよ、まだまだ発展途上ですので これを機会にまた勉強していきたいと思います。 今回は本当にありがとうございました♪
補足
早々のご対応ありがとうございます。 >ご質問の要件の部分には解決していないような気がします と仰いますが、ここまできちんとコードを作っていただきましたし、 さっそく試してみます。 またご報告させていただきますね!