ブック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も見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
EXCEL VBA マクロ 実行する度に処理速度がどんどん遅くなる原因が知りたい
Excel(エクセル)
-
VBA 別ブックからの転記の高速化について VBA 別ブックからの転記の高速化についてご教授下さい。
Visual Basic(VBA)
-
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
-
4
vba 2つの条件が一致したらコピーして別シートに値のみ貼り付け
Visual Basic(VBA)
-
5
エクセル VBA シートのコピー
その他(プログラミング・Web制作)
-
6
Excel VBA 処理後データが重たくなる&処理スピードが遅いのを解決したい
Visual Basic(VBA)
-
7
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
8
《エクセルVBA》「他の人が該当ファイルを使用中の場合」の処理
Excel(エクセル)
-
9
VBAでループ内で使う変数名を可変にできないか。
Visual Basic(VBA)
-
10
Excel VBA:特定の文字列以降(あるいは以前)のテキストをすべて取得する方法
Visual Basic(VBA)
-
11
【Excel VBA】ネットワーク上の共有フォルダにあるExcelを開く
Excel(エクセル)
-
12
エクセルで複数のシートのクリアをしたいです
Excel(エクセル)
-
13
Excel VBAが徐々に遅くなる
Excel(エクセル)
-
14
VBAでシートコピー後、シート名が重複している時の処理
Access(アクセス)
-
15
エクセルマクロで「1」を「01」に変換したい
Excel(エクセル)
-
16
VBA 複数の行を高速で削除する方法
その他(プログラミング・Web制作)
-
17
特定の複数のシートに同じ処理をさせたい
Excel(エクセル)
-
18
名前の変わるブックをアクティブにしたい。
Excel(エクセル)
-
19
複数の条件に合う行番号を取得するには
その他(Microsoft Office)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「ご処理進めて頂きますようお...
-
【Excel】特定の文字を含むセル...
-
エクセルで、日付を入力すると...
-
EXCEL VBA マクロ 実行する度に...
-
メルカリのメルカードで買い物...
-
switch の範囲指定
-
VBAでループ内で使う変数名を可...
-
VBA SaveChanges 上書きされない
-
DoEventsがやはり分からない
-
UMLでの例外処理
-
VBの質問#if 0 then ってどう...
-
VB.NET Excelを読み込んでDataT...
-
C言語 b += a ? 1 : 0; の意味
-
リョウ・・・量?料?
-
VBAでセルに値が入力されるまで...
-
Select Case文でこのようなこと...
-
変数が""(空文字)かどうか判別...
-
findは動くがfindnextがマクロ...
-
アルミ アルマイト処理とアノ...
-
VB6,Ifから抜けるには?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「ご処理進めて頂きますようお...
-
メルカリのメルカードで買い物...
-
エクセルで、日付を入力すると...
-
VBAでループ内で使う変数名を可...
-
【Excel】特定の文字を含むセル...
-
EXCEL VBA マクロ 実行する度に...
-
DoEventsがやはり分からない
-
UMLでの例外処理
-
月度は何て読みますか?
-
switch の範囲指定
-
VBの質問#if 0 then ってどう...
-
セルの値が0はクリアするマクロ
-
VB.NET Excelを読み込んでDataT...
-
Do~Loopした回数をカウントしたい
-
Loadイベント中にほかのイベン...
-
Select Case文でこのようなこと...
-
findは動くがfindnextがマクロ...
-
緊急です。 知り合いから50kgの...
-
リョウ・・・量?料?
-
理不尽、行き場のないイライラ...
おすすめ情報