MiracleJobLogo
エンジニアのエンジニアによるエンジニアのためのサイト
News 07/19 おすすめ情報に 『 【資格取得者速報】 Aさん 「 Microsoft Security, Compliance, and Identity Fundamentals」 』 を追加しました。
会員登録するとキャリア診断やサイトに参加することができます。
あなたにおすすめな技術情報、資格、仕事などをお知らせします。

無料会員登録


パスワードを忘れた場合
LINEで送る
MiracleJobBanaLeft1
MiracleJobBanaLeft2


VBA動作軽量化
profile-img
投稿者: t-araiさん
投稿日:2020/03/17 10:08
更新日:
like-img
分類
技術
テクノロジー
その他
キャリア
運用・保守 / 設計
投稿内容
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
コメント


MiracleJobBanaRight1
MiracleJobBanaRight2
MiracleJobBanaRight3