Excel 大量データをマクロでコピペするのに時間がかかります、

Anonymous
2023-04-18T12:36:34+00:00

こんにちは。

A 下記のようにExcelファイルが2つあり、①のファイルは

データが2列で30万行あります。

B ①のデータを②のファイルにそのままコピペするため

マクロで記憶させて(①を開いて②にデータを値のみ貼りつけ)コピペするのに10分近くかかります。

c VBAで行うことでコピペ時間を短縮する方法はありますか?

セル同士を=で設定すれば早くなるた聞いたことはあります。

①ファイル名=価格表A シート名=価格リストA

A        B

1 100 200

2 300 400

②ファイル名=価格表B シート名=価格リストB

 A        B

1

2

Microsoft 365 と Office | Excel | ビジネス向け | Windows

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2023-04-19T00:57:38+00:00

投稿を読んだ時は、simo-k さん同様「シートコピーで良くね?」と思いました。

 A1:B300000 に空白なく数値が詰まっているのであれば、普通に手作業でセル範囲をコピペしても数秒で終わるでしょうし。

 ちなみに VBA で試してみたら、コピー元ブックが開かれている状態からなら 1 秒ちょいでした。

 とにかくコピー元のシートの構成とか、値のみ貼りつけでないとダメなのかとかを詳しく書くか、現状のマクロのコードを提示するとかしないと、適格なアドバイスは難しいですよ。

この回答は役に立ちましたか?

2 人がこの回答が役に立ったと思いました。
0 件のコメント コメントはありません

2 件の追加の回答

並べ替え方法: 最も役に立つ
  1. simo-k 87,970 評価のポイント ボランティア モデレーター
    2023-04-18T13:59:22+00:00

    記載されている条件だけなら、わざわざマクロを使う必要性が理解出来ません。

    単純にシートコピーして、コピーされたExcelファイルでシート名などを変更すれば数秒でしょう。

    シート内の特定セル領域のみコピーするのであれば、マクロの書き方が非効率的な処理になっているだけです。

    マクロの書き方によって、1桁・2桁ぐらい処理時間は変わります。

    google先生に「マクロ 高速化」などで聞いて下さい。

    > セル同士を=で設定すれば早くなるた聞いたことはあります。

    その根拠は何でしょうか?

    ②ファイルを開くたびに、①ファィルを参照して計算させるのが高速化ですか?

    そして、参照させるという事はお互いのファイル保存場所などを常に意識しなくてはなりません。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  2. kt-1688 113.5K 評価のポイント ボランティア モデレーター
    2023-04-18T13:27:24+00:00

    VBAの記述をChatGPTに貼りつけて無駄がないか聞いてみては。

    きれいに書き直してくれるかも。

    いずれにしても、ここにも記述を貼りつけた方がいいのかも。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません