- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:抽出データのコピー)
抽出データのコピー方法で起こる問題と解消法
このQ&Aのポイント
- AAのシートのA列を1件ずつ参照し、BBのシートでそれぞれに対応するデータを抽出し、CCのシートへコピーするマクロを作成していますが、コピー後にCCのシートが最終行まで使用されている状態になります。この問題の原因は、コピーしたデータを貼り付ける際に、CCのシートが最終行まで使用されるようになるためです。
- この問題を解消するためには、データをコピーする前にCCのシートの最終行をクリアする必要があります。具体的には、以下の手順を行います。
- 1. マクロの実行前に、CCのシートを開きます。 2. CCのシートの最終行にカーソルを移動します。 3. ツールバーから「行を削除」ボタンをクリックします。 4. マクロを実行します。 これにより、CCのシートが最終行まで使用されずにコピーが行われ、容量の増加問題が解消されます。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
私のPCでは、提示のコードを実行してもBookが肥大化することはありませんでした。 シートCCが最終行まで選択状態になるのが気になれば、最後に、 「Worksheets("CC").Range("A1").Select」とかすればいいでしょう。 質問を見て、普通にコードを書いて、Bookが肥大化することもなかったのでそのまま書くことにします。 当方、Win10、Excel2010です。ご参考に。 Sub TEST() Sheets("CC").Select Cells.Select Selection.ClearContents Dim i As Long Dim M As String i = 1 M = Worksheets("AA").Cells(i, 1).Value With Worksheets("BB").Range("A1") .AutoFilter 1, M .CurrentRegion.Copy Worksheets("CC").Range("B1") .AutoFilter End With Worksheets("CC").Range("A1").Select Worksheets("BB").Range("A1").CurrentRegion.AutoFilter End Sub
お礼
回答ありがとうございます。 提示いただいたマクロでBOOK肥大化を回避することができました(^^)
補足
シートCCが最終行まで選択状態になるのが気になれば、最後に、 「Worksheets("CC").Range("A1").Select」とかすればいいでしょう → この場合、実行時エラー1004 RangeクラスのSelectメソッドが失敗しました というポップアップエラーが発生します。 私のPCでは、提示のコードを実行してもBookが肥大化することはありませんでした。 → 他のパソコンでoffice2010が入っているもので試しましたが、 BOOK肥大化しました。