• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:EXCEL VBA で既定のシートを下に追加したい)

Excel VBAで既定のシートを下に追加する方法とは?

このQ&Aのポイント
  • Excel VBAで既定のシートを下に追加する方法を教えてください。現在、注文書シートを増やすごとに、その範囲を下にコピーしています。しかし、50件以上になると処理に時間がかかってしまいます。他の方法をご教示いただけないでしょうか。
  • Excel VBAを使用して、既定のシートの下に新しいシートを追加する方法についてお聞きしたいです。現在、注文書というシートがあり、それを増やすたびに同じ範囲を下にコピーしています。しかし、50件以上になると処理時間が長くなってしまいます。他の効率的な方法はありますか?
  • Excel VBAを使って、既定のシートの下に新しいシートを増やす方法を知りたいです。現在は注文書というシートを増やすたびに、同じ範囲を下にコピーしています。しかし、50件以上になると処理に時間がかかるようになりました。他の効果的な方法はありますか?

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

  • ベストアンサー
  • kon555
  • ベストアンサー率51% (1849/3570)
回答No.1

 コードの全体が分からないのでそのものズバリな回答は無理ですが、貴方が書かれたコードはSelectとcopyを延々と繰り返す挙動になっており、これが処理遅延の原因です。  まず、もし画面表示の停止や自動計算の停止をしていないなら、それから手をつけましょう。 https://thom.hateblo.jp/entry/2015/08/31/063500  マクロ自体はおそらく自動記録を少し弄ったコードだと思いますが、処理自体の改善は下記の内容が参考になります。 http://officetanaka.net/excel/vba/speed/

Kuronari12
質問者

お礼

詳しく、よくわかりました。 紹介された、URLを参照していくと、結局、数秒で終わるようになった。高速化恐ろしや。 大変、ありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.2

何のためにシートを他シートに、コピペするの? 貯蔵整理や保管のため、事後参照のため? ーー コピペは、内部的には複雑な処理であって、時間が掛かることはよく経験する。 だから、各セルのデータはVBAでは、(一括でなくなるかもしれないが)セル代入方式がお勧め。 ーー 手作業で操作するコピペしてもOKということは、列構成やセルの関数は式的に同じ構成なのだろう。であれば、その顧客の1(各)注文に対し、もちろんVBAで、1から作成するようにすれば、そんなに1件社当たり時間はかからないでしょう。VBAプログラムもほぼ同じものが使えるのでは?それも質問に書いてない。 またScreenUpdatingをFalseなどしている? >お客様からNGだされました。 ということは、質問者はソフト作成業者側か?周りに相談する人はいないはずは ないだろう?

すると、全ての回答が全文表示されます。

関連するQ&A