![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
ブックAのシートA´のA2:AZ80にあるデータをコピーし別のパスにあるブックBのシートB´のアクティブなセルに貼り付けをしたいのですが、速度が遅いです。(というよりずっと実行中になってしまいます。)
A2:AZ80には空白の行もあるため貼り付け後に空白の行は削除するようにします。
さらに次回貼り付けする際にはその最終行から貼り付けるようにしたいので、(誰かがデータをいじってアクティブセルが任意のところに移動したまま保存された場合も考慮したいので)
現在は貼り付ける前にB2をアクティブにし、その最終行に飛ばし、その下をアクティブにするように
しています。
上記の条件で速度をできるだけ早くしてあげるにはコードをどのように書いたらいいのでしょうか?
宜しくお願いいたします。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
個人的には、あまりCopyとPasteは使わないですね。
単純にCells(x,y)でブックAの値を参照して、それをブックBのセルにCells(x,y).Valueで入れるようにします。
あとはこれをループ処理するだけ。
クリップボードを介すると重くなることがありますし。
ループ処理になるので多少時間はかかりますが、上記のようなループ処理の方がメモリをあまり占有しないので動作的には軽いかと思います。
ご参考まで。
No.1
- 回答日時:
コードの提示がないので何とも言えませんが・・・・。
貼付先のセル指定は対して時間がかからないので、
とりあえず以下のようにしてください。
'作画・自動計算OFF
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
・セル貼付 処理
・行の削除 処理
'自動計算・作画ON
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
あとは
・無駄な処理を省く・作業の効率化
・selectを使用しないようにする
・RangeよりCellsを使用する
・内部処理は書き出さずに変数内で処理する
・変数の型は宣言する
・debug.printを無くす
ま、いろいろあると思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのマクロでコピー後の貼り付け先を毎回指定したところにしたい 5 2022/08/12 10:47
- Visual Basic(VBA) Excel vbaについて知恵もしくは、コード教えて下さいm(__)m ① 表にあるデータをコピー、 2 2022/09/01 23:57
- Visual Basic(VBA) 範囲を指定して別シートにコピペ 2 2022/09/15 07:32
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- その他(Microsoft Office) エクセルマクロ オートフィルターでで選択コピー 2 2022/04/18 11:05
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 1 2023/02/27 22:21
- Visual Basic(VBA) 貼り付けた値が消えていく 以下はソースファイルの2番目のシートのB6から最終行を取得 ターゲットファ 2 2023/07/27 12:23
- Excel(エクセル) エクセルのマクロについて教えてください。 3 2023/02/07 14:47
- Excel(エクセル) VBA セルの値と同じ名前のシートにデータを貼り付けするやり方を教えてください 2 2022/05/17 16:26
- Excel(エクセル) シートが違う2枚のエクセルシートにある数値を別シートにコピーしたい(VBA?) 8 2022/03/31 12:24
このQ&Aを見た人はこんなQ&Aも見ています
-
「環境が人を育てる」って本当?環境によって人格や生き方は本当に変わるのか
環境が人生に与える影響は実際どれほどのものなのか、専門家の田宮由美さんに伺った。
-
VBA 別ブックからの転記の高速化について VBA 別ブックからの転記の高速化についてご教授下さい。
Visual Basic(VBA)
-
EXCEL VBA マクロ 実行する度に処理速度がどんどん遅くなる原因が知りたい
Excel(エクセル)
-
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
-
4
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
5
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
6
エクセル VBA シートのコピー
その他(プログラミング・Web制作)
-
7
エクセルVBAで、条件に一致するセルへ移動
Excel(エクセル)
-
8
ユーザーフォーム スクロールバー 非表示にしたい
Excel(エクセル)
-
9
メッセージボックスに表示する文字を大きくしたい
Excel(エクセル)
-
10
vba 2つの条件が一致したらコピーして別シートに値のみ貼り付け
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「ご処理進めて頂きますようお...
-
VBAでループ内で使う変数名を可...
-
リョウ・・・量?料?
-
エクセルで、日付を入力すると...
-
お家デートをしててハグを長い...
-
メルカリのメルカードで買い物...
-
DoEventsがやはり分からない
-
月度は何て読みますか?
-
IQテストの数列
-
【Excel】特定の文字を含むセル...
-
FFTの結果ついて
-
インタラクティブの反対語は?
-
取り消し線が入った文字を削除...
-
VBの質問#if 0 then ってどう...
-
VBAで処理フラグの立て方
-
2重のDo~Loopは?
-
再帰処理を途中で抜けるには
-
Access チェックボックスでチェ...
-
switch の範囲指定
-
EXCEL VBA マクロ 実行する度に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「ご処理進めて頂きますようお...
-
エクセルで、日付を入力すると...
-
VBAでループ内で使う変数名を可...
-
DoEventsがやはり分からない
-
switch の範囲指定
-
メルカリのメルカードで買い物...
-
【Excel】特定の文字を含むセル...
-
VBの質問#if 0 then ってどう...
-
VBAでCOPYを繰り返すと、処理が...
-
EXCEL VBA マクロ 実行する度に...
-
findは動くがfindnextがマクロ...
-
インタラクティブの反対語は?
-
UMLでの例外処理
-
リョウ・・・量?料?
-
Do~Loopした回数をカウントしたい
-
セックスレスの既婚女性は自慰...
-
月度は何て読みますか?
-
セルの値が0はクリアするマクロ
-
Loadイベント中にほかのイベン...
-
FFTの結果ついて
おすすめ情報