エクセルマクロで単純処理を連発させているのですが、途中でフリーズてしまいます。大量処理する場合、フリーズを防ぐ方法はどのようなものがありますでしょうか?VBAに埋め込むとよいコードなどあれば教えてください。
コードのひとかたまりは下記のようなものです。
これをシートを替えて100連発ほどさせます。
Range("A1:Z1").Select...複雑な計算式がはいっています
Selection.Copy
Range("A1:K10000").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Selection.Copy
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
A 回答 (6件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
NO.4です
途中でキーボードが壊れて不親切な書き込みになって
申し訳ございません
表記のVBAですと画面がちらつきますよね?
描画に時間がかかってしまうんです。
そこでマクロ開始時に最小化
完了時に最大化すると必ず早くなります。
それとマクロの記録で作成したものは
やはり効率が悪いんですね。
例えば
Range("A1:Z1").Select
Selection.Copy
や
Range("A1").Select
ActiveCell.FormulaR1C1=XXXXX
なんて記述されるものは
Range("A1:Z1").Copy
Range("A1").VALUE=XXXXX
と置き換えた方が速いのです。
また1つのセルの値を使いまわす時は
Range("B1").VALUE=Range("A1").VALUE
Range("B2").VALUE=Range("A1").VALUE
Range("B3").VALUE=Range("A1").VALUE
:
よりも
DIM myString AS STRING
myString=Range("A1").VALUE
Range("B1").VALUE=myString
Range("B2").VALUE=myString
Range("B3").VALUE=myString
:
が速いのです。
No.4
- 回答日時:
Application.WindowState = xlMinimized
Range("A1:Z1").Copy
Range("A1:K10000").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Selection.Copy
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
100連発後
Application.WindowState = xlNormal
No.3
- 回答日時:
(1)エクセルが内部で1セルコピーするごとに、全セルの再計算をさせないことではないでしょうか。
多分エクセルは1セル値が変わると、他の全セルに影響がないかチェックして、影響がある部分は再計算するようですので。最後に一遍にやる方が能率が良いような気がするApplication.Calculation = xlManual
(2)VBAも(A)COPY方式と(B)値代入方式があると思う。
書式以外の値や式なら、代入方式で置換え可能で、その方が速いのでは。式の表現をVBA向けにしないと(変えないと)いけないが。
=A1+B1を
For i = 2 To 100
Cells(i, "C") = Cells(i, "A") + Cells(i, "B")
Next i
(3)1行ずつのコピーにする。
For i = 2 To 100
Cells(i - 1, "C").Copy
Cells(i, "C").PasteSpecial
Next i
今までの小生の思いこみに過ぎないかもしれません。エクセル処理内部のことも判っていないと言えないことなのですが、その辺不十分で、ご批判を乞いたい。
この質問は先日も出しませんでしたか、見たような気がする。
No.2
- 回答日時:
OS9.2.2以下の環境でしたらExcellに対する「割り当て
メモリ」を増やして見る。
OS-X環境でしたら、体験的にOffice.v.Xはどうも今一でしたから、Office2004にしてみる。
OS自体10.1以下は何か不安定でしたから、10.2(最新のOSは10.3.6で、来春10.4が出ますが)以上が安定しますよ。
根本的にはPowerMacG5がよいと思いますが。(私自身はG4-800で、最近ストレスを感じます)
ショップのデモを見ただけですが、CPUをG4からG5にすると64bit処理の影響か、かなり速くなってました。
一応Macという事で書きましたが、他のOSは分かりませんので悪しからず。
No.1
- 回答日時:
その仕事以外のことを、コンピュータにさせないことです。
また、katan_FXさんのようなコンピュータの使い方であれば、CPUはAthlonの64 FX プロセッサがいいでしょうねぇ。さて、OSは何でしょう?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) マクロを短くする 1 2023/01/15 00:11
- Excel(エクセル) エクセル VBAでシートのコピーを作りたい 1 2023/05/18 07:42
- Visual Basic(VBA) 動きっぱなしです。止め方とプロシージャの間違いを教えて下さい! 5 2022/08/15 23:08
- Excel(エクセル) エクセルのマクロでコピー後の貼り付け先を毎回指定したところにしたい 5 2022/08/12 10:47
- Visual Basic(VBA) エクセル VBA 処理スピードを上げたいのですが。 6 2023/03/31 20:52
- Visual Basic(VBA) データのある範囲を選択するVBAについて 2 2022/09/03 00:20
- Visual Basic(VBA) エクセルVBAのコードで質問です。 下のコードはJ16の文字列をB3を起点とする範囲から探して、見つ 5 2023/04/07 11:07
- Excel(エクセル) エクセル VBA実行中のApplication.ScreenUpdatingについて 3 2023/07/13 21:06
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2023/05/23 16:28
このQ&Aを見た人はこんなQ&Aも見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
エクセルでマクロ使うとフリーズするのは何故ですか?
Excel(エクセル)
-
マクロを実行するとフリーズしてしまう。
Excel(エクセル)
-
エクセルVBAが途中で止まります
Visual Basic(VBA)
-
-
4
エラーになってないのにVBAが中断される
Excel(エクセル)
-
5
Excel VBA 実行中に一瞬フリーズします。たとえ 一瞬" でも困る事情があります。"
Visual Basic(VBA)
-
6
エクセルVBAで5行目からオートフィルタモードに設定したいたい
Excel(エクセル)
-
7
どうして、VBA動作後に固まるのですか?
PowerPoint(パワーポイント)
-
8
エクセルでエラーが出て困っています。
Excel(エクセル)
-
9
VBAのテキストボックスに文字列を貼り付ける方法
Access(アクセス)
-
10
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
11
VBA シートのボタン名を変更したい
Visual Basic(VBA)
-
12
メッセージボックスのOKボタンをVBAでクリックさせたい
Visual Basic(VBA)
-
13
メッセージボックスに表示する文字を大きくしたい
Excel(エクセル)
-
14
Application.ScreenUpdating = Falseが効きません
Visual Basic(VBA)
-
15
マクロの実行途中で「応答なし」が発生する
Excel(エクセル)
-
16
特定のPCだけ動作しないVBAマクロがあります。その理由は?
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
至急!尿検査前日にオナニーし...
-
首吊りどこ締めるの
-
尿検査の前日は自慰控えたほう...
-
尿検査前日に自慰行為した時の...
-
1日前の検尿
-
今朝、毎朝の習慣でオナニーし...
-
変な話しになります。尿検査で...
-
射精をして1週間以内に尿検査を...
-
検便についてです。 便は取れた...
-
腕を見たら黄色くなってる部分...
-
2つの数値のうち、数値が小さい...
-
彼女のことが好きすぎて彼女の...
-
EXCELで条件付き書式で空白セル...
-
口の中に黒い血の塊
-
値が入っているときだけ計算結...
-
男です。昨日の午後3時くらいに...
-
白血球が多いとどんな心配があ...
-
Excelで""で囲む方法
-
リンク先のファイルを開かなく...
-
小数点以下を繰り上げたものを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
中出しをするとお腹が痛い・・・。
-
麻疹風疹の抗体検査結果につい...
-
エクセルでエラーが出て困って...
-
白血球が多いとどんな心配があ...
-
彼女のことが好きすぎて彼女の...
-
検便についてです。 便は取れた...
-
勃起する時って痛いんですか? ...
-
至急!尿検査前日にオナニーし...
-
納豆食べた後の尿の納豆臭は何故?
-
これって喉仏ですか? 私は女性...
-
EXCELで条件付き書式で空白セル...
-
精子が黄色?
-
小数点以下を繰り上げたものを...
-
値が入っているときだけ計算結...
-
口の中に黒い血の塊
-
健否~書類の書き方~
-
甲状腺が腫れているが血液検査...
-
はしかの抗体検査は何科の病院...
-
テスターで断線を調べる方法教...
おすすめ情報