VBA 処理を高速化する小技①

VBA

Excel VBAで大量のデータを処理していると、「処理が終わらない」「やたら時間がかかる」と感じることはありませんか?

その原因のひとつが、セルの変更ごとに自動計算が走っていることです。

VBAでは、処理の最初に計算を一時的に止め、すべての処理が終わったあとにまとめて再計算することで、処理速度を大幅に改善できます。

Sub SpeedUpSample()

    ' 処理高速化の設定
    Application.Calculation = xlCalculationManual
    Application.ScreenUpdating = False
    Application.EnableEvents = False

    ' ===== メイン処理 以下は一例 =====
    Range("A1:A10000").Value = 1
    ' ==================================

    ' 元に戻す
    Application.Calculation = xlCalculationAutomatic
    Application.ScreenUpdating = True
    Application.EnableEvents = True

    ' 最後にまとめて再計算
    Application.Calculate

End Sub

コード効果
Application.Calculation = xlCalculationManual自動再計算を停止(最重要)
Application.ScreenUpdating = False画面更新を止める
Application.EnableEvents = FalseWorksheet_Change などのイベントを止める
Application.Calculate最後に一括で再計算

「VBAが遅い=仕方ない」ではなく、設定を見直すだけで驚くほど速くなることもあります。

作業効率を上げるなら「マウス」も大事

VBAで処理を高速化するのと同じように、
普段使うツールを見直すことも作業効率アップにはとても大切です。

特に毎日使うマウスは、意外と作業スピードや疲れやすさに影響します。

個人的におすすめなのが ロジクールのマウス
クリック感が安定していて精度も高く、長時間使っても手が疲れにくいのが特徴です。

nenemuが使っているマスはこれ。
価格はちょっと、、、、ですが使い勝手が抜群です。ロジクールの静音設計が一番のお気に入りポイントです。

  • ボタンのカスタマイズができる
  • ホイール操作が快適
  • 無線でも反応が良い

といった点は、Excel作業やVBA開発との相性も抜群。

「コードで処理を速くする」+「操作環境を快適にする」
この両方を意識すると、日々の作業効率は確実に上がります。

作業が多い人ほど、
良いマウスはコスパの高い自己投資だと思います。



 

コメント

タイトルとURLをコピーしました