• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:抽出データのコピー)

抽出データのコピー方法で起こる問題と解消法

このQ&Aのポイント
  • AAのシートのA列を1件ずつ参照し、BBのシートでそれぞれに対応するデータを抽出し、CCのシートへコピーするマクロを作成していますが、コピー後にCCのシートが最終行まで使用されている状態になります。この問題の原因は、コピーしたデータを貼り付ける際に、CCのシートが最終行まで使用されるようになるためです。
  • この問題を解消するためには、データをコピーする前にCCのシートの最終行をクリアする必要があります。具体的には、以下の手順を行います。
  • 1. マクロの実行前に、CCのシートを開きます。 2. CCのシートの最終行にカーソルを移動します。 3. ツールバーから「行を削除」ボタンをクリックします。 4. マクロを実行します。 これにより、CCのシートが最終行まで使用されずにコピーが行われ、容量の増加問題が解消されます。

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

  • ベストアンサー
  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.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

3620313
質問者

お礼

回答ありがとうございます。 提示いただいたマクロでBOOK肥大化を回避することができました(^^)

3620313
質問者

補足

シートCCが最終行まで選択状態になるのが気になれば、最後に、  「Worksheets("CC").Range("A1").Select」とかすればいいでしょう → この場合、実行時エラー1004 RangeクラスのSelectメソッドが失敗しました というポップアップエラーが発生します。 私のPCでは、提示のコードを実行してもBookが肥大化することはありませんでした。 → 他のパソコンでoffice2010が入っているもので試しましたが、 BOOK肥大化しました。

関連するQ&A