エンジニアのエンジニアによるエンジニアのためのサイト
Toggle navigation
TOP
技術
書籍
資格
業務
イベント・セミナー
ニュース・お知らせ
検索
News
07/25 おすすめ情報に 『 【案件】Azure AD関連の認証設計/azureの基本設計 』 を追加しました。
会員登録するとキャリア診断やサイトに参加することができます。
あなたにおすすめな技術情報、資格、仕事などをお知らせします。
無料会員登録
メールアドレス
パスワード
パスワードを忘れた場合
Login
Tweet
TOP
投稿内容
VBA動作軽量化
投稿者: t-araiさん
投稿日:2020/03/17 10:08
更新日:
3
分類
技術
テクノロジー
その他
キャリア
運用・保守 / 設計
投稿内容
VBAで複数シートや別のブックを開いたりしているプログラムを動作させると動作時間がすごくかかったりしてませんか?
そんな場合に2行命令文を追加するだけで軽量化できちゃうんです!
その命令文とは
冒頭に
Application.ScreenUpdating = False
末尾に
Application.ScreenUpdating = True
と入れるだけ!
このApplication.ScreenUpdatingとは
動作している最中にシートが変わったりブックを開いたりと画面に表示させる動作のことでFalseで停止して内部のみで動作させるようにしているのです。
つまり
画面に表示させる分の処理がなくなりその分動作が軽くなる
ということです!
このプログラムは1つのシートのみで作業しているところに追加しても意味はありませんが、画面が頻繁に変わるプログラムに追加すると目に見えた効果が出ます!
VBAの動作時間に困っている人は試しに使ってみてください!
使用例
Sub test()
Application.ScreenUpdating = False
Dim i As Long
For i = 1 To 100
Cells(i, 1).Select
Selection.Copy
Sheets("Sheet2").Select
Cells(i, 1).Select
ActiveSheet.Paste
Sheets("Sheet1").Select
Next i
Application.ScreenUpdating = True
End Sub
引用元URL
https://www.tipsfound.com/vba/02014
コメント
コメントする
戻る