Ribbit.work

Excel VBAの高速化はこれだけでOK!コピペで使えるコードを紹介

VBA

last modified date2021-9-3

publish date2021-9-3

この記事はVBA、VBE初心者向けとなります。

VBAに慣れていない場合に、必要な処理だけウェブサイトから拾い集め、とりあえず実装するというケースは少なくないかと思います。

ですが、出来上がったものを実行してみると、処理中に画面がガタガタ動いたり、マウスが頻繁に処理中モードと通常モードに切り替わってしまうことはありませんか?

そういった方向けに、作成した処理の前に読み込ませるだけで、簡単に上記の問題が解決され、さらに高速化できるケースもあるコードをご紹介いたします。

VBA コード

Public Sub sample()
    On Error GoTo CATCH

    Application.DisplayAlerts = False
    Application.ScreenUpdating = False
    Application.EnableEvents = False
    Application.Calculation = xlCalculationManual

    Call 実際に実行するマクロ

FINALLY:
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
    Application.EnableEvents = True
    Application.Calculation = xlCalculationAutomatic

    Exit Sub

CATCH:
    Debug.Print (Err.Description)
    Resume FINALLY
End Sub

実際に実行するマクロの部分に、作ったSub 〇〇()プロシージャの〇〇を書き込むだけで、今までと同様の動作をしながら、画面のガタガタやマウスカーソルの変化が直ります。

エラーが出た場合に、操作している人にもわかるようにしたい場合は、Debug.Print (Err.Description) の部分を、MsgBox ”エラーが発生しました。エラー内容:" & Err.Descriptionなどと変更するといいかと思います。

この記事を読んだ方におすすめの記事

ExcelからChatworkにメッセージを送る

ExcelからChatworkにメッセージを送る

VBA
2021-9-3
ExcelからChatworkのユーザ一覧を取得する

ExcelからChatworkのユーザ一覧を取得する

VBA
2021-9-3
VBAでマジックナンバーをスマートに消したい!

VBAでマジックナンバーをスマートに消したい!

VBA
2021-9-1
VBAでエラー処理とThrow処理を両方行う方法

VBAでエラー処理とThrow処理を両方行う方法

ExcelVBA
2021-8-16
【参照設定不要】Base64フォーマットにエンコードする

【参照設定不要】Base64フォーマットにエンコードする

ExcelVBA
2021-8-16

最新の記事

KintoneからChatworkのユーザ一覧を取得する

KintoneからChatworkのユーザ一覧を取得する

JavaScriptKintone
2021-9-15
TypeScriptで楽天ブックス書籍検索APIを使う📚

TypeScriptで楽天ブックス書籍検索APIを使う📚

TypeScriptJavaScript
2021-9-13
【kintone】Webフォントを適用する

【kintone】Webフォントを適用する

KintoneJavaScript
2021-9-8
KintoneからChatworkにメッセージを送る

KintoneからChatworkにメッセージを送る

JavaScript
2021-9-6
アクセス権限のないアプリにJavaScriptからだけアクセスを許可する方法

アクセス権限のないアプリにJavaScriptからだけアクセスを許可する方法

KintoneJavaScript
2021-9-3